> When I install a SIGCHLD handler via sigaction() using SA_SIGINFO, is > it guaranteed that my handler is called (at least) once per > death-of-a-child?
"Maybe." It depends on how portable you want to be. Historically, "no": in some older systems, a second SIGCHLD delivered when there's already one pending delivery gets, lost same as any other signal. Then someone - POSIX? SVR4? I don't know - decided to invent a flavour of signal that's more like writes to a pipe: multiple of them can be pending at once. Some systems decided this was sane and implemented it. Personally, I don't like it; I think signals should be much like hardware interrupts in that a second instance happening before the first is serviced gets silently merged. If you want some sort of queued notification of child death, it seems to me a much righter, much more UNIXy, tack to take is to add something like AF_CHILD sockets or some such and get child death notifications that way. (Actually, I'm not sure sockets would work without severe hackery; too much of the socket machinery assumes the data in a socket is independent of who reads from it. Perhaps it would need a new flavour of file descriptor, akin to kevent or timerfd descriptors. I have no doubt it could be done one way or another. But arguably it's best to just use SIGCHLD and a loop that uses WNOHANG.) /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mo...@rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B