icinga2 daemon: reap remaining child processes after reload

... as we may be PID 1.
This commit is contained in:
Alexander A. Klimov 2020-10-14 18:00:16 +02:00
parent e9b8fc234b
commit 91265a5b0e
1 changed files with 11 additions and 0 deletions

View File

@ -746,6 +746,17 @@ int DaemonCommand::Run(const po::variables_map& vm, const std::vector<std::strin
<< "Waited for " << Utility::FormatDuration(Utility::GetTime() - start) << " on old process to exit.";
}
for (int info;;) {
auto pid (waitpid(-1, &info, WNOHANG));
if (pid < 1) {
break;
}
Log(LogNotice, "cli")
<< "Reaped child process " << pid << ".";
}
// Old instance shut down, allow the new one to continue working beyond config validation
(void)kill(nextWorker, SIGUSR2);