mirror of https://github.com/Icinga/icinga2.git
parent
20c16a8e93
commit
2d6ed4c9be
|
@ -250,7 +250,7 @@ void Checkable::ProcessCheckResult(const CheckResult::Ptr& cr, const MessageOrig
|
|||
ServiceState old_state = GetStateRaw();
|
||||
StateType old_stateType = GetStateType();
|
||||
long old_attempt = GetCheckAttempt();
|
||||
bool recovery;
|
||||
bool recovery = false;
|
||||
|
||||
if (old_cr && cr->GetExecutionStart() < old_cr->GetExecutionStart())
|
||||
return;
|
||||
|
@ -264,7 +264,6 @@ void Checkable::ProcessCheckResult(const CheckResult::Ptr& cr, const MessageOrig
|
|||
long attempt = 1;
|
||||
|
||||
if (!old_cr) {
|
||||
recovery = false;
|
||||
SetStateType(StateTypeHard);
|
||||
} else if (cr->GetState() == ServiceOK) {
|
||||
if (old_state == ServiceOK && old_stateType == StateTypeSoft) {
|
||||
|
@ -272,6 +271,9 @@ void Checkable::ProcessCheckResult(const CheckResult::Ptr& cr, const MessageOrig
|
|||
recovery = true;
|
||||
}
|
||||
|
||||
if (old_state != ServiceOK)
|
||||
recovery = true; // NOT OK -> SOFT/HARD OK
|
||||
|
||||
ResetNotificationNumbers();
|
||||
SetLastStateOK(Utility::GetTime());
|
||||
} else {
|
||||
|
@ -284,8 +286,6 @@ void Checkable::ProcessCheckResult(const CheckResult::Ptr& cr, const MessageOrig
|
|||
attempt = old_attempt;
|
||||
}
|
||||
|
||||
recovery = false;
|
||||
|
||||
switch (cr->GetState()) {
|
||||
case ServiceOK:
|
||||
/* Nothing to do here. */
|
||||
|
|
Loading…
Reference in New Issue