From: Jim Jagielski Date: Fri, 15 Nov 2013 19:29:11 +0000 (+0000) Subject: PR: 54852. Only use a dummy_connection for idle processes X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=da6232f70ab3d37a8944c2348dca451020c4a7ba;p=thirdparty%2Fapache%2Fhttpd.git PR: 54852. Only use a dummy_connection for idle processes git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1542379 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index 6bf9b6890e8..7e79aa82931 100644 --- a/CHANGES +++ b/CHANGES @@ -4,6 +4,9 @@ Changes with Apache 2.5.0 *) Fix potential rejection of valid MaxMemFree and ThreadStackSize directives. [Mike Rumph ] + *) prefork: Fix long delays when doing a graceful restart. + PR 54852 [Jim Jagielski, Arkadiusz Miskiewicz ] + *) core: Add parse_errorlog_arg callback to ap_errorlog_provider to allow providers to check the ErrorLog argument. [Jan Kaluza] diff --git a/server/mpm_unix.c b/server/mpm_unix.c index a70c2714ae3..ca880e5db7e 100644 --- a/server/mpm_unix.c +++ b/server/mpm_unix.c @@ -742,7 +742,12 @@ void ap_mpm_pod_killpg(ap_pod_t *pod, int num) * readers stranded (a number of them could be tied up for * a while serving time-consuming requests) */ + /* Recall: we only worry about IDLE child processes here */ for (i = 0; i < num && rv == APR_SUCCESS; i++) { + if (ap_scoreboard_image->servers[i][0].status != SERVER_READY || + ap_scoreboard_image->servers[i][0].pid == 0) { + continue; + } rv = dummy_connection(pod); } }