From f5b4e951f0b81a3af9b12a1c5d5bf5700aad0314 Mon Sep 17 00:00:00 2001 From: Gunnar Beutner Date: Fri, 7 Mar 2014 09:53:21 +0100 Subject: [PATCH] Fix deadlock in Service::RemoveAllComments(). Fixes #5721 --- lib/icinga/service-comment.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/lib/icinga/service-comment.cpp b/lib/icinga/service-comment.cpp index 7a9ae1330..f16faa4ad 100644 --- a/lib/icinga/service-comment.cpp +++ b/lib/icinga/service-comment.cpp @@ -88,9 +88,11 @@ void Service::RemoveAllComments(void) std::vector ids; Dictionary::Ptr comments = GetComments(); - ObjectLock olock(comments); - BOOST_FOREACH(const Dictionary::Pair& kv, comments) { - ids.push_back(kv.first); + { + ObjectLock olock(comments); + BOOST_FOREACH(const Dictionary::Pair& kv, comments) { + ids.push_back(kv.first); + } } BOOST_FOREACH(const String& id, ids) {