Clear sticky ack on soft recovery, fix sticky=2, normal=1|0.

Fixes #5365
This commit is contained in:
Michael Friedrich 2014-03-19 23:08:01 +01:00
parent bcc17be2ca
commit 5ec2349f64
2 changed files with 5 additions and 5 deletions

View File

@ -616,7 +616,7 @@ void ExternalCommandProcessor::AcknowledgeSvcProblem(double, const std::vector<S
if (arguments.size() < 7)
BOOST_THROW_EXCEPTION(std::invalid_argument("Expected 7 arguments."));
bool sticky = Convert::ToBool(arguments[2]);
bool sticky = (Convert::ToLong(arguments[2]) == 2 ? true : false);
Service::Ptr service = Service::GetByNamePair(arguments[0], arguments[1]);
@ -637,7 +637,7 @@ void ExternalCommandProcessor::AcknowledgeSvcProblemExpire(double, const std::ve
if (arguments.size() < 8)
BOOST_THROW_EXCEPTION(std::invalid_argument("Expected 8 arguments."));
bool sticky = Convert::ToBool(arguments[2]);
bool sticky = (Convert::ToLong(arguments[2]) == 2 ? true : false);
double timestamp = Convert::ToDouble(arguments[5]);
Service::Ptr service = Service::GetByNamePair(arguments[0], arguments[1]);
@ -679,7 +679,7 @@ void ExternalCommandProcessor::AcknowledgeHostProblem(double, const std::vector<
if (arguments.size() < 6)
BOOST_THROW_EXCEPTION(std::invalid_argument("Expected 6 arguments."));
bool sticky = Convert::ToBool(arguments[1]);
bool sticky = (Convert::ToLong(arguments[1]) == 2 ? true : false);
Host::Ptr host = Host::GetByName(arguments[0]);
@ -702,7 +702,7 @@ void ExternalCommandProcessor::AcknowledgeHostProblemExpire(double, const std::v
if (arguments.size() < 7)
BOOST_THROW_EXCEPTION(std::invalid_argument("Expected 7 arguments."));
bool sticky = Convert::ToBool(arguments[1]);
bool sticky = (Convert::ToLong(arguments[1]) == 2 ? true : false);
double timestamp = Convert::ToDouble(arguments[4]);
Host::Ptr host = Host::GetByName(arguments[0]);

View File

@ -319,7 +319,7 @@ void Service::ProcessCheckResult(const CheckResult::Ptr& cr, const String& autho
/* remove acknowledgements */
if (GetAcknowledgement() == AcknowledgementNormal ||
(GetAcknowledgement() == AcknowledgementSticky && GetStateType() == StateTypeHard && GetState() == StateOK)) {
(GetAcknowledgement() == AcknowledgementSticky && GetState() == StateOK)) {
ClearAcknowledgement();
}