diff --git a/lib/icinga/comment.cpp b/lib/icinga/comment.cpp index b411a4143..85c5f1a17 100644 --- a/lib/icinga/comment.cpp +++ b/lib/icinga/comment.cpp @@ -244,7 +244,7 @@ void Comment::CommentsExpireTimerHandler(void) } BOOST_FOREACH(const Comment::Ptr& comment, comments) { - if (comment->IsExpired()) + if (comment->IsActive() && comment->IsExpired()) RemoveComment(comment->GetName()); } } diff --git a/lib/icinga/downtime.cpp b/lib/icinga/downtime.cpp index d7668f795..2d1838302 100644 --- a/lib/icinga/downtime.cpp +++ b/lib/icinga/downtime.cpp @@ -358,7 +358,7 @@ void Downtime::DowntimesExpireTimerHandler(void) } BOOST_FOREACH(const Downtime::Ptr& downtime, downtimes) { - if (downtime->IsExpired()) + if (downtime->IsActive() && downtime->IsExpired()) RemoveDowntime(downtime->GetName(), false, true); } } diff --git a/lib/notification/notificationcomponent.cpp b/lib/notification/notificationcomponent.cpp index 3a1cf54de..abf1d7d75 100644 --- a/lib/notification/notificationcomponent.cpp +++ b/lib/notification/notificationcomponent.cpp @@ -72,6 +72,9 @@ void NotificationComponent::NotificationTimerHandler(void) double now = Utility::GetTime(); BOOST_FOREACH(const Notification::Ptr& notification, ConfigType::GetObjectsByType()) { + if (!notification->IsActive()) + continue; + Checkable::Ptr checkable = notification->GetCheckable(); if (checkable->IsPaused() && GetEnableHA())