summaryrefslogtreecommitdiff
path: root/server
diff options
context:
space:
mode:
authorYann Ylavic <ylavic@apache.org>2022-04-13 13:51:04 +0000
committerYann Ylavic <ylavic@apache.org>2022-04-13 13:51:04 +0000
commit0ff5042828e3a4d215685ed65fe05b8da84f7807 (patch)
tree456cf1f3295dec43d1e649882f62e9b301a1fac5 /server
parentc6099d586f87b935f543bb7962cca05dd2b3aebd (diff)
downloadhttpd-0ff5042828e3a4d215685ed65fe05b8da84f7807.tar.gz
mpm_event: Follow up to r1899777: Fix max_daemon_used.
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1899812 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'server')
-rw-r--r--server/mpm/event/event.c16
1 files changed, 7 insertions, 9 deletions
diff --git a/server/mpm/event/event.c b/server/mpm/event/event.c
index b064d80235..595fac0b0f 100644
--- a/server/mpm/event/event.c
+++ b/server/mpm/event/event.c
@@ -3215,16 +3215,8 @@ static void perform_idle_server_maintenance(int child_bucket,
free_slots[free_length++] = i;
}
}
-
if (*max_daemon_used < last_non_dead + 1) {
*max_daemon_used = last_non_dead + 1;
-
- /* Below make_child() can grow retained->max_daemon_used, so
- * be accurate if the one being computed is higher already.
- */
- if (retained->max_daemon_used < *max_daemon_used) {
- retained->max_daemon_used = *max_daemon_used;
- }
}
if (retained->sick_child_detected) {
@@ -3357,7 +3349,13 @@ static void perform_idle_server_maintenance(int child_bucket,
retained->total_daemons);
}
for (i = 0; i < free_length; ++i) {
- make_child(ap_server_conf, free_slots[i], child_bucket);
+ int slot = free_slots[i];
+ if (make_child(ap_server_conf, slot, child_bucket) < 0) {
+ continue;
+ }
+ if (*max_daemon_used < slot + 1) {
+ *max_daemon_used = slot + 1;
+ }
}
/* the next time around we want to spawn twice as many if this
* wasn't good enough, but not if we've just done a graceful