In message <alpine.gso.1.10.1308081518210.24...@multics.mit.edu>,Benjamin Kaduk 
writes:
>gerrit/6947 raises some potentially large spectres, in particular 
>LinuxThreads compatibility.  Chas has dedicated pthreads for each child 
>process to listen for SIGCHLD, plus a global thread for SIGTERM/SIGQUIT 

Not quite.  In the threaded version, each thread calls waitpid() after
spawning the child process.  So signals are only handled in a single
thread which is much easier to deal with.  I did it this way to work
around the way LinuxThread behaves (SIGCHLD wouldn't necessarily go to
the thread listening for signals) but overall this is actually quite a
bit cleaner than having a single "thread" that needs to poll the status
of each child.

It the lwp version of the code wasn't necessary, the #ifdef maze could
be cleaned up a bit.
_______________________________________________
OpenAFS-devel mailing list
OpenAFS-devel@openafs.org
https://lists.openafs.org/mailman/listinfo/openafs-devel

Reply via email to