From 8f7b819c9d48ca1c490c87afd6541bf0b304370f Mon Sep 17 00:00:00 2001 From: Gunnar Beutner Date: Mon, 29 Aug 2016 14:12:29 +0200 Subject: [PATCH] Fix race condition for concurrent_checks fixes #11932 --- lib/checker/checkercomponent.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/checker/checkercomponent.cpp b/lib/checker/checkercomponent.cpp index 3f5d2d112..880ea06ba 100644 --- a/lib/checker/checkercomponent.cpp +++ b/lib/checker/checkercomponent.cpp @@ -194,6 +194,8 @@ void CheckerComponent::CheckThreadProc(void) Log(LogDebug, "CheckerComponent") << "Executing check for '" << checkable->GetName() << "'"; + Checkable::IncreasePendingChecks(); + Utility::QueueAsyncCallback(boost::bind(&CheckerComponent::ExecuteCheckHelper, CheckerComponent::Ptr(this), checkable)); lock.lock(); @@ -222,6 +224,8 @@ void CheckerComponent::ExecuteCheckHelper(const Checkable::Ptr& checkable) Log(LogCritical, "checker", output); } + Checkable::DecreasePendingChecks(); + { boost::mutex::scoped_lock lock(m_Mutex);