]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
PR: 54852. Only use a dummy_connection for idle processes
authorJim Jagielski <jim@apache.org>
Fri, 15 Nov 2013 19:29:11 +0000 (19:29 +0000)
committerJim Jagielski <jim@apache.org>
Fri, 15 Nov 2013 19:29:11 +0000 (19:29 +0000)
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1542379 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
server/mpm_unix.c

diff --git a/CHANGES b/CHANGES
index 6bf9b6890e8955b789cbb470b083aca5f253ec59..7e79aa82931b0b548d8d43e14d634208a9cd933f 100644 (file)
--- 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 <mike.rumph oracle.com>]
 
+  *) prefork: Fix long delays when doing a graceful restart.
+     PR 54852 [Jim Jagielski, Arkadiusz Miskiewicz <arekm maven pl>]
+
   *) core: Add parse_errorlog_arg callback to ap_errorlog_provider
      to allow providers to check the ErrorLog argument. [Jan Kaluza]
 
index a70c2714ae3bef7ac9306d20a9b998f8b6208cbd..ca880e5db7ebbea4be6471c086c6d03769006dfb 100644 (file)
@@ -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);
     }
 }