> >>> 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'.