On his web page about the self-pipe trick, Dan Bernstein explains a race condition with
select() and signals, offers a workaround and concludes that
Of course, the Right Thing would be to have
fork() return a file descriptor, not a process ID.
What does he mean by this -- is it something about being able to
select() on child processes to handle their state changes instead of having to use a signal handler to get notified of those state changes?