mirror of
https://github.com/Icinga/icinga2.git
synced 2025-04-08 17:05:25 +02:00
Before: On SIGCHLD from the forked worker the umbrella process sets a failure flag. StartUnixWorker() recognises that and does waitpid(), failure message, etc.. On OpenBSD we can't tell the signal source, so we always set the failure flag. That's not how our IPC shall work, that breaks the IPC sooner or later. After: No SIGCHLD handling and no failure flag setting. Instead StartUnixWorker()'s wait loop uses waitpid(x,y,WNOHANG) to avoid false positives while watching the forked worker.