diff --git a/Patronum/src/Private/serviceprivate.cpp b/Patronum/src/Private/serviceprivate.cpp index 0d3ac7f..f9fb579 100644 --- a/Patronum/src/Private/serviceprivate.cpp +++ b/Patronum/src/Private/serviceprivate.cpp @@ -18,6 +18,12 @@ #include #include #include "parser.h" +#include + +void handleTermSignals(int sig) { + QuasarAppUtils::Params::log("Shutdown application CTRL+C.", QuasarAppUtils::Info); + QCoreApplication::exit(0); +} namespace Patronum { @@ -37,6 +43,9 @@ Patronum::ServicePrivate::ServicePrivate(IService *service, QObject *parent): QObject::connect(_socket, &LocalSocket::sigReceve, this, &ServicePrivate::handleReceve); + signal(SIGINT, &handleTermSignals); + signal(SIGTERM, &handleTermSignals); + } ServicePrivate::~ServicePrivate() { diff --git a/Patronum/src/Private/serviceprivate.h b/Patronum/src/Private/serviceprivate.h index 654455b..afe9248 100644 --- a/Patronum/src/Private/serviceprivate.h +++ b/Patronum/src/Private/serviceprivate.h @@ -79,6 +79,7 @@ public: private slots: void handleReceve(QByteArray data); + private: /**