]> granicus.if.org Git - icinga2/commitdiff
Stop checks during shutdown.
authorGunnar Beutner <gunnar.beutner@netways.de>
Mon, 17 Mar 2014 08:04:19 +0000 (09:04 +0100)
committerGunnar Beutner <gunnar.beutner@netways.de>
Mon, 17 Mar 2014 08:04:19 +0000 (09:04 +0100)
Fixes #5784

components/checker/checkercomponent.cpp
etc/init.d/icinga2.cmake
lib/base/application.cpp

index 2d3bbff77fc902aa4115fb63d3781ac8a2c91ed4..bba18211d037bdd4582ac732ce15d6e6d7c4f8f1 100644 (file)
@@ -84,12 +84,15 @@ void CheckerComponent::Start(void)
 
 void CheckerComponent::Stop(void)
 {
+       Log(LogInformation, "checker", "Checker stopped.");
+
        {
                boost::mutex::scoped_lock lock(m_Mutex);
                m_Stopped = true;
                m_CV.notify_all();
        }
 
+       m_ResultTimer->Stop();
        m_Thread.join();
 }
 
index e550dc27277fb3feb5328cf93915d4a9d8f3f651..d771289cce06c113fbdd28acf430673ad3e248f4 100644 (file)
@@ -87,7 +87,7 @@ stop() {
                
                        printf '.'
                        
-                       sleep 1
+                       sleep 3
                done
        fi
 
index 2d956a3ee2c951aade291e37e1c0ec4eea47c5f9..df6ebc0b4392f10c95fe88afa3a9882a73625a3f 100644 (file)
@@ -174,10 +174,10 @@ void Application::RunEventLoop(void) const
                Utility::Sleep(0.5);
 
        Log(LogInformation, "base", "Shutting down Icinga...");
+       DynamicObject::StopObjects();
        Application::GetInstance()->OnShutdown();
 
 #ifdef _DEBUG
-       DynamicObject::StopObjects();
        GetTP().Stop();
        m_ShuttingDown = false;