437
443
/* XXX classic System V signal race condition here with RescanNotify */
438
444
if ((pid = wait (&status)) != -1)
442
448
sigaddset(&mask, SIGCHLD);
443
449
sigaddset(&mask, SIGHUP);
444
450
sigprocmask(SIG_BLOCK, &mask, &omask);
445
451
Debug ("signals blocked\n");
447
453
omask = sigblock (sigmask (SIGCHLD) | sigmask (SIGHUP));
448
454
Debug ("signals blocked, mask was 0x%x\n", omask);
450
456
if (!ChildReady && !Rescan)
458
464
sigprocmask(SIG_SETMASK, &omask, (sigset_t *)NULL);
462
468
while ((pid = waitpid (-1, &status, WNOHANG)) > 0)