On Friday 04 May 2012 16:17:02 Chet Ramey wrote:
> On 5/4/12 2:53 PM, Mike Frysinger wrote:
> > it might be a little racy (wrt checking cnt >= 10 and then doing a wait),
> > but this is good enough for some things.  it does lose visibility into
> > which pids are live vs reaped, and their exit status, but i more often
> > don't care about that ...
> 
> What version of bash did you test this on?  Bash-4.0 is a little different
> in how it treats the SIGCHLD trap.

bash-4.2_p28.  wait returns 145 (which is SIGCHLD).

> Would it be useful for bash to set a shell variable to the PID of the just-
> reaped process that caused the SIGCHLD trap?  That way you could keep an
> array of PIDs and, if you wanted, use that variable to keep track of live
> and dead children.

we've got associative arrays now ... we could have one which contains all the 
relevant info:
        declare -A BASH_CHILD_STATUS=(
                ["pid"]=1234
                ["status"]=1    # WEXITSTATUS()
                ["signal"]=13   # WTERMSIG()
        )
makes it easy to add any other fields people might care about ...
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to