[BACK]Return to child.c CVS log [TXT][DIR] Up to [local] / src / usr.bin / rdist

Diff for /src/usr.bin/rdist/child.c between version 1.21 and 1.22

version 1.21, 2014/07/05 06:35:03 version 1.22, 2014/07/05 07:25:27
Line 96 
Line 96 
                 /*                  /*
                  * Remove the child                   * Remove the child
                  */                   */
 #if     defined(POSIX_SIGNALS)                  sigset_t set, oset;
                 sigset_t set;  
   
                 sigemptyset(&set);                  sigemptyset(&set);
                 sigaddset(&set, SIGCHLD);                  sigaddset(&set, SIGCHLD);
                 sigprocmask(SIG_BLOCK, &set, NULL);                  sigprocmask(SIG_BLOCK, &set, &oset);
 #else   /* !POSIX_SIGNALS */  
                 int oldmask;  
   
                 oldmask = sigblock(sigmask(SIGCHLD));  
 #endif  /* POSIX_SIGNALS */  
   
                 if (prevpc != NULL)                  if (prevpc != NULL)
                         prevpc->c_next = pc->c_next;                          prevpc->c_next = pc->c_next;
                 else                  else
                         childlist = pc->c_next;                          childlist = pc->c_next;
   
 #if     defined(POSIX_SIGNALS)                  sigprocmask(SIG_SETMASK, &oset, NULL);
                 sigprocmask(SIG_UNBLOCK, &set, NULL);  
 #else  
                 sigsetmask(oldmask);  
 #endif  /* POSIX_SIGNALS */  
   
                 (void) free(child->c_name);                  (void) free(child->c_name);
                 --activechildren;                  --activechildren;

Legend:
Removed from v.1.21  
changed lines
  Added in v.1.22