diff --git a/lib/remote/consolehandler.cpp b/lib/remote/consolehandler.cpp index e81533ce0c2..f5a470a9aca 100644 --- a/lib/remote/consolehandler.cpp +++ b/lib/remote/consolehandler.cpp @@ -1,5 +1,6 @@ /* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */ +#include "remote/configobjectslock.hpp" #include "remote/consolehandler.hpp" #include "remote/httputility.hpp" #include "remote/filterutility.hpp" @@ -88,6 +89,13 @@ bool ConsoleHandler::HandleRequest( bool sandboxed = HttpUtility::GetLastParameter(params, "sandboxed"); + ConfigObjectsSharedLock lock (std::try_to_lock); + + if (!lock) { + HttpUtility::SendJsonError(response, params, 503, "Icinga is reloading."); + return true; + } + if (methodName == "execute-script") return ExecuteScriptHelper(request, response, params, command, session, sandboxed); else if (methodName == "auto-complete-script")