diff --git a/lib/cli/daemoncommand.cpp b/lib/cli/daemoncommand.cpp index ec0de8b24..784ffa4d2 100644 --- a/lib/cli/daemoncommand.cpp +++ b/lib/cli/daemoncommand.cpp @@ -11,6 +11,7 @@ #include "base/defer.hpp" #include "base/logger.hpp" #include "base/application.hpp" +#include "base/process.hpp" #include "base/timer.hpp" #include "base/utility.hpp" #include "base/exception.hpp" @@ -509,6 +510,14 @@ static pid_t StartUnixWorker(const std::vector& configs, bool close _exit(EXIT_FAILURE); } + try { + Process::InitializeSpawnHelper(); + } catch (const std::exception& ex) { + Log(LogCritical, "cli") + << "Failed to initialize process spawn helper after forking (child): " << DiagnosticInformation(ex); + _exit(EXIT_FAILURE); + } + _exit(RunWorker(configs, closeConsoleLog, stderrFile)); } catch (...) { _exit(EXIT_FAILURE);