Subject: Re: signal confusion
To: None <current-users@netbsd.org>
From: Christoph Badura <bad@ora.de>
List: current-users
Date: 11/05/1998 21:38:24
dokas@cs.umn.edu (Paul B Dokas) writes:
>What appears to be happening is this: if two children die at almost
>the same instant then the first child to die will queue up a SIGCHLD,
>but when the second dies, the kernel notices that a SIGCHLD is already
>pending and then throws out the second SIGCHLD.
That's correct. Signals aren't queued. You have to wait3() in a loop
with options WNOHANG|WUNTRACED until no dead childs are collected.
--
Christoph Badura
Verlag O'Reilly