Hey Hiltjo,

Chris Down writes:
signal() semantics are pretty unclearly specified. For example,
depending on OS kernel and libc, the handler may be returned to SIG_DFL
(hence the inner call to readd the signal handler). Moving to
sigaction() means the behaviour is consistently defined.

Using SA_NOCLDWAIT also allows us to avoid calling the non-reentrant
function die() in the handler.

waitpid() and sigaction() can also fail with EINTR, which may mean our
zombie handling fails, so block signals while setting things up to be
careful.

I think this one is good to go -- me and NRK seem to agree about everything now, and there wasn't any other feedback as far as I'm aware.

Any other feedback blocking merge that I may have missed?

Thanks!

Chris

Reply via email to