Ignore ECHILD in UnixEventPort::ChildSet::checkExits
If no child process has changed state, waitpid() returns zero. But if there are no more child processes at all, it returns -1 and sets errno to ECHILD. Since checkExits calls waitpid() in a loop, it must ignore ECHILD. +Unit test modified to exhibit the unexpected behaviour.
Showing
Please
register
or
sign in
to comment