W dniu 20.03.2012 11:31, Grzegorz Nosek pisze:
> 18:58:31.755173 waitid(P_ALL, 0, 0xffc6e6d8,
> WNOHANG|WEXITED|WSTOPPED|WCONTINUED, NULL) = -1 ECHILD (No child
> processes) <0.000208>
> OK, so it isn't waitpid() but waitid(). My bad, I guess I haven't heard
> of waitid() before.
Sigh, having reread the waitid() documentation it looks like I have
misinterpreted the return value (ECHILD meaning "no reapable child
processes", not "no children at all"). Silly me, I thought that EAGAIN
would be the "not yet" errno value.
Still, the SIGCHLD apparently isn't delivered anyway. If waitid()
returned ECHILD, meaning the process is still alive, either the
following getpgid() should have succeeded, or a SIGCHLD should have
appeared before it.
Received on Tue Mar 20 11:13:37 2012