fix child exit status in prefork after certain errors in
authorJeff Trawick <trawick@apache.org>
Thu, 19 Jul 2012 00:05:29 +0000 (00:05 +0000)
committerJeff Trawick <trawick@apache.org>
Thu, 19 Jul 2012 00:05:29 +0000 (00:05 +0000)
the child so that the parent resets the spawn rate to the
minimum

or:

mpm_prefork: Reduce spawn rate after a child process exits due to
unexpected poll or accept failure.

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1363183 13f79535-47bb-0310-9956-ffa450edef68

CHANGES
server/mpm/prefork/prefork.c

diff --git a/CHANGES b/CHANGES
index 9edd56a631bf465f4d2e3c66d4326db81681cf7c..678992533995eedccbce0c29ae35effa44d4695c 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -1,6 +1,9 @@
                                                          -*- coding: utf-8 -*-
 Changes with Apache 2.5.0
 
+  *) mpm_prefork: Reduce spawn rate after a child process exits due to
+     unexpected poll or accept failure.  [Jeff Trawick]
+
   *) core: Log value of Status header line in script responses rather
      than the fixed header name.  [Chris Darroch]
 
index 471c8ff0bc5b5e4eea7a4a9378ac10efcf1233e9..d0cf59b4cbe95f7cea30d6aba5d6ae4100f0362d 100644 (file)
@@ -641,7 +641,7 @@ static void child_main(int child_num_arg)
                     ap_log_error(APLOG_MARK, APLOG_ERR, status,
                                  ap_server_conf, APLOGNO(00158) "apr_pollset_poll: (listen)");
                     SAFE_ACCEPT(accept_mutex_off());
-                    clean_child_exit(1);
+                    clean_child_exit(APEXIT_CHILDSICK);
                 }
 
                 /* We can always use pdesc[0], but sockets at position N
@@ -678,7 +678,7 @@ static void child_main(int child_num_arg)
 
         if (status == APR_EGENERAL) {
             /* resource shortage or should-not-occur occured */
-            clean_child_exit(1);
+            clean_child_exit(APEXIT_CHILDSICK);
         }
         else if (status != APR_SUCCESS) {
             continue;