diff options
| -rw-r--r-- | src/tools/messageserver/main.cpp | 19 | ||||
| -rw-r--r-- | src/tools/messageserver/messageserver.pro | 5 |
2 files changed, 24 insertions, 0 deletions
diff --git a/src/tools/messageserver/main.cpp b/src/tools/messageserver/main.cpp index c80a652d..27eb7f51 100644 --- a/src/tools/messageserver/main.cpp +++ b/src/tools/messageserver/main.cpp @@ -44,6 +44,20 @@ #include <QDebug> #include <qmailnamespace.h> +#if defined(HANDLE_SHUTDOWN_SIGNALS) && defined(Q_OS_UNIX) +#define SHUTDOWN_SIGNAL_HANDLING +#endif + +#ifdef SHUTDOWN_SIGNAL_HANDLING +#include <signal.h> + +static void shutdown(int n) +{ + qWarning() << "Received signal" << n << "- terminating."; + QCoreApplication::exit(); +} +#endif + int main(int argc, char** argv) { @@ -54,6 +68,11 @@ int main(int argc, char** argv) MessageServer server; +#ifdef SHUTDOWN_SIGNAL_HANDLING + signal(SIGINT, shutdown); + signal(SIGTERM, shutdown); +#endif + int exitCode = app.exec(); return exitCode; diff --git a/src/tools/messageserver/messageserver.pro b/src/tools/messageserver/messageserver.pro index ac1748ff..a5a7e181 100644 --- a/src/tools/messageserver/messageserver.pro +++ b/src/tools/messageserver/messageserver.pro @@ -41,3 +41,8 @@ TRANSLATIONS += messageserver-ar.ts \ messageserver-zh_CN.ts \ messageserver-zh_TW.ts +unix { + # Uncomment this to shutdown cleanly on termination signal + #DEFINES += HANDLE_SHUTDOWN_SIGNALS +} + |
