confusion about signals
   
    Henry Cejtin
     
    henry@sourcelight.com
       
    Mon, 18 Mar 2002 14:31:57 -0600
    
    
  
The  way you are SUPPOSED to use sigsuspend, and the reason for the argument,
is that you block SIGCHLD, then you do the fork, then you do sigsuspend  with
a mask which lets it get through.  You are now using the fact that sigsuspend
guarentees that the changing of the blocked mask and the waiting for a signal
are done atomically.
Note,  in  general SIGCHLD is a stupid signal and I don't believe that I have
ever used it.  If you want to wait for a child to finish, just use wait()  or
waitpid().   I  can  imagine cases where it might be useful, but they are all
pretty strange.  What are you using it for?