]> granicus.if.org Git - icinga2/commitdiff
Make sure the "syncing" attribute is set to false
authorGunnar Beutner <gunnar@beutner.name>
Mon, 8 Feb 2016 12:15:24 +0000 (13:15 +0100)
committerGunnar Beutner <gunnar@beutner.name>
Mon, 8 Feb 2016 12:15:24 +0000 (13:15 +0100)
refs #11083

lib/icinga/checkable-check.cpp
lib/icinga/checkable.hpp
lib/remote/apilistener.cpp

index b0d9faf6b3616b8da7f5e3592c10e8fa81efca6e..65747a02f346ffd23e4db3455bc0f0d5b6f7da78 100644 (file)
@@ -364,12 +364,6 @@ void Checkable::ProcessCheckResult(const CheckResult::Ptr& cr, const MessageOrig
                OnNotificationsRequested(this, recovery ? NotificationRecovery : NotificationProblem, cr, "", "");
 }
 
-bool Checkable::IsCheckPending(void) const
-{
-       ObjectLock olock(this);
-       return m_CheckRunning;
-}
-
 void Checkable::ExecuteRemoteCheck(const Dictionary::Ptr& resolvedMacros)
 {
        CONTEXT("Executing remote check for object '" + GetName() + "'");
index 9ce25dbd1c745b91cfd20a56db0d702ff949a3ad..cef1147334ef7d2f9f38533877c3dc02c793696e 100644 (file)
@@ -104,8 +104,6 @@ public:
 
        Endpoint::Ptr GetCommandEndpoint(void) const;
 
-       bool IsCheckPending(void) const;
-
        static double CalculateExecutionTime(const CheckResult::Ptr& cr);
        static double CalculateLatency(const CheckResult::Ptr& cr);
 
index 37d37303429c5b72e3ec0e84008b0768ab8ff37a..8c8b894a2384b68c187762c400c0b704961b665e 100644 (file)
@@ -412,8 +412,11 @@ void ApiListener::SyncClient(const JsonRpcConnection::Ptr& aclient, const Endpoi
                Log(LogInformation, "ApiListener")
                    << "Finished sending config updates for endpoint '" << endpoint->GetName() << "'.";
 
-               if (!needSync)
+               if (!needSync) {
+                       ObjectLock olock2(endpoint);
+                       endpoint->SetSyncing(false);
                        return;
+               }
 
                Log(LogInformation, "ApiListener")
                    << "Sending replay log for endpoint '" << endpoint->GetName() << "'.";
@@ -422,8 +425,10 @@ void ApiListener::SyncClient(const JsonRpcConnection::Ptr& aclient, const Endpoi
 
                Log(LogInformation, "ApiListener")
                    << "Finished sending replay log for endpoint '" << endpoint->GetName() << "'.";
-
        } catch (const std::exception& ex) {
+               ObjectLock olock2(endpoint);
+               endpoint->SetSyncing(false);
+
                Log(LogCritical, "ApiListener")
                    << "Error while syncing endpoint '" << endpoint->GetName() << "': " << DiagnosticInformation(ex);
        }
@@ -818,8 +823,11 @@ void ApiListener::ReplayLog(const JsonRpcConnection::Ptr& client)
 
        Zone::Ptr target_zone = target_endpoint->GetZone();
 
-       if (!target_zone)
+       if (!target_zone) {
+               ObjectLock olock2(endpoint);
+               endpoint->SetSyncing(false);
                return;
+       }
 
        for (;;) {
                boost::mutex::scoped_lock lock(m_LogLock);