> >>> It would be very helpful if you would post a "complete" example that
> >>> shows the problem you're having.
> >> OK. In short a small test-program: (I left out the standard "REAPER"-code).
> 
> > (``$SIG{CHLD} = \&REAPER'' is an interprocess construct put forth in
> > perlipc, not an interthread construct.  Not sure what effect you intend it
> > to have.)
> 
> I usually add this to take into account the situation where a thread
> dies without a proper "return". It's not necessairy here.

When a thread dies, it does not cause a SIGCHLD to be generated.  That
only occurs with forked processes.  Therefore, if you are not using
'fork', you do not need a $SIG{CHLD} handler.

If a thread executes 'die' (i.e., does not 'return' from the entry point
function), then a warning is issued, and the thread must still be
cleaned up using 'join' or 'detach'.

Reply via email to