> > LinuxThreads uses a 'manager thread' (which is not the main thread) that
> > can do exactly this kind of cleanup stuff.
>
> But how does this manager know when the parent has died? Does it
> periodically wake up and check if its ppid == 1? Yuk.
nope, use waitpid(-1,&status,..). The status then tells you why the child
exited.
of course if the manager dies that cannot be solved. It should be simple
enough and should not die spontaneously ;)
-- mingo