Make sure we're not running command_endpoint-based checks more than once

refs #10963
This commit is contained in:
Gunnar Beutner 2016-01-21 10:32:38 +01:00
parent 80fdccc43a
commit 7985e93ca0
1 changed files with 4 additions and 0 deletions

View File

@ -444,6 +444,10 @@ void Checkable::ExecuteCheck(void)
if (listener) if (listener)
listener->SyncSendMessage(endpoint, message); listener->SyncSendMessage(endpoint, message);
/* Re-schedule the check so we don't run it again until after we've received
a check result from the remote instance. The check will be re-scheduled
using the proper check interval once we've received a check result. */
SetNextCheck(Utility::GetTime() + GetCheckCommand()->GetTimeout() + 30);
} else if (Application::GetInstance()->GetStartTime() < Utility::GetTime() - 30) { } else if (Application::GetInstance()->GetStartTime() < Utility::GetTime() - 30) {
/* fail to perform check on unconnected endpoint */ /* fail to perform check on unconnected endpoint */
cr->SetState(ServiceUnknown); cr->SetState(ServiceUnknown);