> If the child exits very quickly, the parent can processes the SIGCHLD event
> via its handler before it reaches execution of pause() in ciped.c line 949.
> The parent blocks in pause() forever because the child has already sent its
> signal, and the child blocks forever as a defunct process waiting for its
> parent to wait() upon it.
Right, thanks for spotting that.
> The patch below, derived against v1.5.4 sources, resolves the problem by
> waiting to process a child exit rather than on a signal event which may have
> already occurred.
Looks okay, I'm applying that.
Btw. sourceforge CVS is unusable at the moment. Not only for anonymous
downloads, I can't check in either. No wonder with constant >90%
packet loss rates at the last hop. Judging from their announcements it
will take at least another few weeks until this gets resolved.