// The default signal mask masks all common signals except those that represent
// synchronous exceptions in the PAL or are used by the system (e.g. SIGPROF on BSD).
// Note that SIGPROF is used by the BSD thread scheduler and masking it caused a
- // significant reduction in performance.
+ // significant reduction in performance. Note that SIGCHLD is used by Linux
+ // for parent->child process notifications, and masking it caused parents
+ // not to recognize their children had died.
sigaddset(&smDefaultmask, SIGHUP);
sigaddset(&smDefaultmask, SIGABRT);
#ifdef SIGEMT
sigaddset(&smDefaultmask, SIGURG);
sigaddset(&smDefaultmask, SIGTSTP);
sigaddset(&smDefaultmask, SIGCONT);
- sigaddset(&smDefaultmask, SIGCHLD);
sigaddset(&smDefaultmask, SIGTTIN);
sigaddset(&smDefaultmask, SIGTTOU);
sigaddset(&smDefaultmask, SIGIO);