mirror of https://github.com/Icinga/icinga2.git
parent
37d9ccde94
commit
1676af8b2d
|
@ -327,17 +327,17 @@ void Application::DisplayBugMessage(void)
|
||||||
|
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
/**
|
/**
|
||||||
* Signal handler for SIGINT. Prepares the application for cleanly
|
* Signal handler for SIGINT and SIGTERM. Prepares the application for cleanly
|
||||||
* shutting down during the next execution of the event loop.
|
* shutting down during the next execution of the event loop.
|
||||||
*
|
*
|
||||||
* @param - The signal number.
|
* @param - The signal number.
|
||||||
*/
|
*/
|
||||||
void Application::SigIntHandler(int)
|
void Application::SigIntTermHandler(int signum)
|
||||||
{
|
{
|
||||||
struct sigaction sa;
|
struct sigaction sa;
|
||||||
memset(&sa, 0, sizeof(sa));
|
memset(&sa, 0, sizeof(sa));
|
||||||
sa.sa_handler = SIG_DFL;
|
sa.sa_handler = SIG_DFL;
|
||||||
sigaction(SIGINT, &sa, NULL);
|
sigaction(signum, &sa, NULL);
|
||||||
|
|
||||||
Application::Ptr instance = Application::GetInstance();
|
Application::Ptr instance = Application::GetInstance();
|
||||||
|
|
||||||
|
@ -466,8 +466,9 @@ int Application::Run(void)
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
struct sigaction sa;
|
struct sigaction sa;
|
||||||
memset(&sa, 0, sizeof(sa));
|
memset(&sa, 0, sizeof(sa));
|
||||||
sa.sa_handler = &Application::SigIntHandler;
|
sa.sa_handler = &Application::SigIntTermHandler;
|
||||||
sigaction(SIGINT, &sa, NULL);
|
sigaction(SIGINT, &sa, NULL);
|
||||||
|
sigaction(SIGTERM, &sa, NULL);
|
||||||
|
|
||||||
sa.sa_handler = SIG_IGN;
|
sa.sa_handler = SIG_IGN;
|
||||||
sigaction(SIGPIPE, &sa, NULL);
|
sigaction(SIGPIPE, &sa, NULL);
|
||||||
|
|
|
@ -116,7 +116,7 @@ private:
|
||||||
static double m_StartTime;
|
static double m_StartTime;
|
||||||
|
|
||||||
#ifndef _WIN32
|
#ifndef _WIN32
|
||||||
static void SigIntHandler(int signum);
|
static void SigIntTermHandler(int signum);
|
||||||
#else /* _WIN32 */
|
#else /* _WIN32 */
|
||||||
static BOOL WINAPI CtrlHandler(DWORD type);
|
static BOOL WINAPI CtrlHandler(DWORD type);
|
||||||
static LONG WINAPI SEHUnhandledExceptionFilter(PEXCEPTION_POINTERS exi);
|
static LONG WINAPI SEHUnhandledExceptionFilter(PEXCEPTION_POINTERS exi);
|
||||||
|
|
Loading…
Reference in New Issue