Add SIGINT handling and alter termination signal logging

This commit is contained in:
g0wfv
2017-06-07 19:34:18 +01:00
parent 1b96901f88
commit 64b3f0848c

View File

@@ -99,6 +99,7 @@ int main(int argc, char** argv)
} }
#if !defined(_WIN32) && !defined(_WIN64) #if !defined(_WIN32) && !defined(_WIN64)
::signal(SIGINT, sigHandler);
::signal(SIGTERM, sigHandler); ::signal(SIGTERM, sigHandler);
::signal(SIGHUP, sigHandler); ::signal(SIGHUP, sigHandler);
#endif #endif
@@ -113,11 +114,14 @@ int main(int argc, char** argv)
delete host; delete host;
if (m_signal == 2)
::LogInfo("DMRGateway-%s exited on receipt of SIGINT", VERSION);
if (m_signal == 15) if (m_signal == 15)
::LogInfo("Caught SIGTERM, exiting"); ::LogInfo("DMRGateway-%s exited on receipt of SIGTERM", VERSION);
if (m_signal == 1) if (m_signal == 1)
::LogInfo("Caught SIGHUP, restarting"); ::LogInfo("DMRGateway-%s restarted on receipt of SIGHUP", VERSION);
} while (m_signal == 1); } while (m_signal == 1);
::LogFinalise(); ::LogFinalise();
@@ -277,7 +281,7 @@ int CDMRGateway::run()
} }
if (m_killed) { if (m_killed) {
LogMessage("DMRGateway-%s is exiting on receipt of SIGHUP1", VERSION); // LogMessage("DMRGateway-%s is exiting on receipt of SIGHUP1", VERSION);
m_repeater->close(); m_repeater->close();
delete m_repeater; delete m_repeater;
return 0; return 0;
@@ -759,7 +763,7 @@ int CDMRGateway::run()
CThread::sleep(10U); CThread::sleep(10U);
} }
LogMessage("DMRGateway-%s is exiting on receipt of SIGHUP1", VERSION); // LogMessage("DMRGateway-%s is exiting on receipt of SIGHUP1", VERSION);
delete voice1; delete voice1;
delete voice2; delete voice2;