You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by tr...@apache.org on 2012/07/19 02:05:29 UTC

svn commit: r1363183 - in /httpd/httpd/trunk: CHANGES server/mpm/prefork/prefork.c

Author: trawick
Date: Thu Jul 19 00:05:29 2012
New Revision: 1363183

URL: http://svn.apache.org/viewvc?rev=1363183&view=rev
Log:
fix child exit status in prefork after certain errors in
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.

Modified:
    httpd/httpd/trunk/CHANGES
    httpd/httpd/trunk/server/mpm/prefork/prefork.c

Modified: httpd/httpd/trunk/CHANGES
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/CHANGES?rev=1363183&r1=1363182&r2=1363183&view=diff
==============================================================================
--- httpd/httpd/trunk/CHANGES [utf-8] (original)
+++ httpd/httpd/trunk/CHANGES [utf-8] Thu Jul 19 00:05:29 2012
@@ -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]
 

Modified: httpd/httpd/trunk/server/mpm/prefork/prefork.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/server/mpm/prefork/prefork.c?rev=1363183&r1=1363182&r2=1363183&view=diff
==============================================================================
--- httpd/httpd/trunk/server/mpm/prefork/prefork.c (original)
+++ httpd/httpd/trunk/server/mpm/prefork/prefork.c Thu Jul 19 00:05:29 2012
@@ -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;