diff options
author | Jeff Trawick <trawick@apache.org> | 2002-04-19 17:21:05 +0000 |
---|---|---|
committer | Jeff Trawick <trawick@apache.org> | 2002-04-19 17:21:05 +0000 |
commit | 2d9fb10665318802605936914ddc6e9f896354fb (patch) | |
tree | 85eed895c05b973e753b95bc32f866e6f2e9bb27 /threadproc | |
parent | a953e72357577935878c6eb9450c9202c7f7ce54 (diff) | |
download | apr-2d9fb10665318802605936914ddc6e9f896354fb.tar.gz |
Tru64: Stop leaving zombies in APR apps like mod_cgid which
tell APR to ignore SIGCHLD.
Submitted by: Dave Hill <David.D.Hill@Compaq.com>
Reviewed by: Jeff Trawick
git-svn-id: https://svn.apache.org/repos/asf/apr/apr/trunk@63282 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'threadproc')
-rw-r--r-- | threadproc/unix/signals.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/threadproc/unix/signals.c b/threadproc/unix/signals.c index 304e50aed..5659c9200 100644 --- a/threadproc/unix/signals.c +++ b/threadproc/unix/signals.c @@ -105,6 +105,16 @@ APR_DECLARE(apr_sigfunc_t *) apr_signal(int signo, apr_sigfunc_t * func) #ifdef SA_INTERRUPT /* SunOS */ act.sa_flags |= SA_INTERRUPT; #endif +#if defined(__osf__) && defined(__alpha) + /* XXX jeff thinks this should be enabled whenever SA_NOCLDWAIT is defined */ + + /* this is required on Tru64 to cause child processes to + * disappear 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; |