From: Gunnar Beutner Date: Wed, 20 Jun 2012 13:23:10 +0000 (+0200) Subject: Check whether there's an application instance before calling Shutdown(). X-Git-Tag: v0.0.1~393 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=49c7cd27d28dfbcbe758cf591b64e2cb9e367aac;p=icinga2 Check whether there's an application instance before calling Shutdown(). --- diff --git a/base/application.cpp b/base/application.cpp index ea479cbeb..0c75392ca 100644 --- a/base/application.cpp +++ b/base/application.cpp @@ -437,7 +437,12 @@ void Application::SigIntHandler(int signum) { assert(signum == SIGINT); - Application::GetInstance()->Shutdown(); + Application::Ptr instance = Application::GetInstance(); + + if (!instance) + return; + + instance->Shutdown(); struct sigaction sa; memset(&sa, 0, sizeof(sa)); @@ -451,7 +456,13 @@ void Application::SigIntHandler(int signum) */ BOOL WINAPI Application::CtrlHandler(DWORD type) { - Application::GetInstance()->Shutdown(); + Application::Ptr instance = Application::GetInstance(); + + if (!instance) + return TRUE; + + instance->GetInstance()->Shutdown(); + SetConsoleCtrlHandler(NULL, FALSE); return TRUE; }