]> granicus.if.org Git - icinga2/commitdiff
Fix missing lock and clear ack comments in RemoveHostAcknowledgement().
authorMichael Friedrich <Michael.Friedrich@netways.de>
Wed, 19 Mar 2014 21:08:28 +0000 (22:08 +0100)
committerMichael Friedrich <Michael.Friedrich@netways.de>
Wed, 19 Mar 2014 21:08:28 +0000 (22:08 +0100)
lib/icinga/externalcommandprocessor.cpp

index 50a8ba452e649a913826854b533219c06f531c96..e752707c4b38cd7ef18156536e54cfe2a4915d1d 100644 (file)
@@ -733,8 +733,13 @@ void ExternalCommandProcessor::RemoveHostAcknowledgement(double, const std::vect
 
        Log(LogInformation, "icinga", "Removing acknowledgement for host '" + host->GetName() + "'");
        Service::Ptr service = host->GetCheckService();
-       if (service)
-               service->ClearAcknowledgement();
+       if (service) {
+               {
+                       ObjectLock olock(service);
+                       service->ClearAcknowledgement();
+               }
+               service->RemoveCommentsByType(CommentAcknowledgement);
+       }
 }
 
 void ExternalCommandProcessor::EnableHostgroupSvcChecks(double, const std::vector<String>& arguments)