From 527eb9553eaf57338b7f2f46254c420fe17a0e32 Mon Sep 17 00:00:00 2001 From: tv Date: Wed, 21 Sep 2005 00:01:01 +0000 Subject: Extend the Darwin avoid_zombies() signal hack to NetBSD, which needs explicit waits as well. Eliminates the CGI zombie problem on NetBSD 2.0+ using the "worker" MPM in Apache 2. --- devel/apr/Makefile | 4 ++-- devel/apr/distinfo | 3 ++- devel/apr/patches/patch-aa | 22 ++++++++++++++++++++++ 3 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 devel/apr/patches/patch-aa (limited to 'devel') diff --git a/devel/apr/Makefile b/devel/apr/Makefile index 42ccaadd213..84fe6ae6d6c 100644 --- a/devel/apr/Makefile +++ b/devel/apr/Makefile @@ -1,10 +1,10 @@ -# $NetBSD: Makefile,v 1.35 2005/05/21 03:49:52 reed Exp $ +# $NetBSD: Makefile,v 1.36 2005/09/21 00:01:01 tv Exp $ .include "../../www/apache2/Makefile.common" PKGNAME= apr-${APR_VERSION}.${APACHE_VERSION} CATEGORIES= devel -PKGREVISION= 1 +PKGREVISION= 2 HOMEPAGE= http://apr.apache.org/ COMMENT= Apache Portable Runtime diff --git a/devel/apr/distinfo b/devel/apr/distinfo index 5ab6c116ff6..8a45b47dbfd 100644 --- a/devel/apr/distinfo +++ b/devel/apr/distinfo @@ -1,8 +1,9 @@ -$NetBSD: distinfo,v 1.14 2005/09/07 11:39:55 reed Exp $ +$NetBSD: distinfo,v 1.15 2005/09/21 00:01:01 tv Exp $ SHA1 (httpd-2.0.54.tar.bz2) = 15b4fc3024cceea6562fb03383fd624e84e5e35a RMD160 (httpd-2.0.54.tar.bz2) = c511cb2fa396ba04caf77bfc6ca03413df48ea08 Size (httpd-2.0.54.tar.bz2) = 5566979 bytes +SHA1 (patch-aa) = c84bdb6bcb14bf6bc7ea0d8f13334dd8c3ef2ef9 SHA1 (patch-an) = 76d9ac0cdddec7c0f41535baee63bf0aa26ed596 SHA1 (patch-ao) = d04d37445b7e8a50a74caa9bda3e6b10924e8322 SHA1 (patch-ap) = 357776c7208407936e09891ae87d23b112a12756 diff --git a/devel/apr/patches/patch-aa b/devel/apr/patches/patch-aa new file mode 100644 index 00000000000..1979d1c9be9 --- /dev/null +++ b/devel/apr/patches/patch-aa @@ -0,0 +1,22 @@ +$NetBSD: patch-aa,v 1.3 2005/09/21 00:01:01 tv Exp $ + +--- apr/threadproc/unix/signals.c.orig 2005-02-04 15:36:31.000000000 -0500 ++++ apr/threadproc/unix/signals.c +@@ -49,7 +49,7 @@ APR_DECLARE(apr_status_t) apr_proc_kill( + + #if APR_HAVE_SIGACTION + +-#ifdef DARWIN ++#if defined(__NetBSD__) || defined(DARWIN) + static void avoid_zombies(int signo) + { + int exit_status; +@@ -85,7 +85,7 @@ APR_DECLARE(apr_sigfunc_t *) apr_signal( + act.sa_flags |= SA_NOCLDWAIT; + } + #endif +-#ifdef DARWIN ++#if defined(__NetBSD__) || defined(DARWIN) + /* ignoring SIGCHLD or leaving the default disposition doesn't avoid zombies, + * and there is no SA_NOCLDWAIT flag, so catch the signal and reap status in + * the handler to avoid zombies -- cgit v1.2.3