diff options
author | Ruediger Pluem <rpluem@apache.org> | 2021-09-22 18:48:25 +0000 |
---|---|---|
committer | Ruediger Pluem <rpluem@apache.org> | 2021-09-22 18:48:25 +0000 |
commit | 8720881b0634383145e87334f1456cbcab4cb6cc (patch) | |
tree | 26c6204321489bf514429fa1886af63de0f319f6 /server/mpm/event/event.c | |
parent | 6d476a66956a6a81ac8e1f7f419ef0697b9a0b76 (diff) | |
download | httpd-8720881b0634383145e87334f1456cbcab4cb6cc.tar.gz |
* Correctly decrement active_daemons also in the case that the child
process decides on its own to die because of MaxRequestsPerChild.
PR: 65592
git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1893520 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'server/mpm/event/event.c')
-rw-r--r-- | server/mpm/event/event.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/server/mpm/event/event.c b/server/mpm/event/event.c index eeb062b74d..aa6304042a 100644 --- a/server/mpm/event/event.c +++ b/server/mpm/event/event.c @@ -3118,6 +3118,10 @@ static void perform_idle_server_maintenance(int child_bucket, int num_buckets) } ps = &ap_scoreboard_image->parent[i]; if (ps->pid != 0) { + if (ps->quiescing == 1) { + ps->quiescing = 2; + active_daemons--; + } for (j = 0; j < threads_per_child; j++) { ws = &ap_scoreboard_image->servers[i][j]; status = ws->status; @@ -3197,7 +3201,6 @@ static void perform_idle_server_maintenance(int child_bucket, int num_buckets) ap_mpm_podx_signal(retained->buckets[child_bucket].pod, AP_MPM_PODX_GRACEFUL); retained->idle_spawn_rate[child_bucket] = 1; - active_daemons--; } else { ap_log_error(APLOG_MARK, APLOG_TRACE5, 0, ap_server_conf, "Not shutting down child: total daemons %d / " |