Dave Hill <[EMAIL PROTECTED]> writes: > Hi all, > I have run into a problem on Compaq Tru64 with cgi processes > being reaped when using with mpm worker. > > I had always thought the signal(SIGCHLD,SIG_IGN) would always > cause child processes to quietly go away but....
This patch looks reasonable to me. Any comments from others? We may need to eventually add support for systems with no SA_NOCLDWAIT. Some such systems may leave zombies when SIGCHLD is SIG_IGN-ored. For that case we'd need to set a handler to reap (and ignore) the status. > *** srclib/apr/threadproc/unix/signals.c.orig Tue Apr 16 18:22:07 2002 > > --- srclib/apr/threadproc/unix/signals.c Wed Apr 17 10:03:48 2002 > > *************** > *** 105,110 **** > --- 105,116 ---- > #ifdef SA_INTERRUPT /* SunOS */ > act.sa_flags |= SA_INTERRUPT; > #endif > + #ifdef SA_NOCLDWAIT > + /* this is required on Tru64 to cause child processes to > + disapear gracefully - XPG4 compatible */ > + if((signo == SIGCHLD) && (func == SIG_IGN)) > + act.sa_flags |= SA_NOCLDWAIT; > + #endif > if (sigaction(signo, &act, &oact) < 0) > return SIG_ERR; > return oact.sa_handler; -- Jeff Trawick | [EMAIL PROTECTED] Born in Roswell... married an alien...