From: Jeff Trawick Date: Thu, 19 Jul 2012 00:05:29 +0000 (+0000) Subject: fix child exit status in prefork after certain errors in X-Git-Tag: 2.5.0-alpha~6628 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=391e8e1645692d8448141c2c4f5a45d38b72653e;p=apache 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. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1363183 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/CHANGES b/CHANGES index 9edd56a631..6789925339 100644 --- 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] diff --git a/server/mpm/prefork/prefork.c b/server/mpm/prefork/prefork.c index 471c8ff0bc..d0cf59b4cb 100644 --- a/server/mpm/prefork/prefork.c +++ b/server/mpm/prefork/prefork.c @@ -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;