On 17/02/07, Peter <[EMAIL PROTECTED]> wrote:


On Fri, 16 Feb 2007, Baruch Even wrote:

> You assume that the signal was received in the recv() call, you'll have
> a race condition where a child might die just before you go into recv()
> and the child is never reaped. The chance might be small to miniscule
> but it's still there.

That's why you must use both a reaper and select() with timeout.


What's the point of select(2) with a timeout? How long should the timeout be
set and what should be checked when it's reached? Why wouldn't a child
reaper be enough in the situation Baruch describes?

In general - I'm very vey unfond of solutions which involve busy waits (and
a select with a timeout is busy wait in my dictionary).

--Amos

Reply via email to