From 2456955dd3fb087ab2f063506502951bb52932a8 Mon Sep 17 00:00:00 2001 From: Yann Ylavic Date: Tue, 7 Sep 2021 20:13:42 +0000 Subject: mpm_event: Follow up to r1893014: log when children are not spawned. Log at trace5 level when active_daemons >= active_daemons_limit and we won't spawn children. Reset free_length to avoid negative value in this case too. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1893073 13f79535-47bb-0310-9956-ffa450edef68 --- server/mpm/event/event.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'server/mpm') diff --git a/server/mpm/event/event.c b/server/mpm/event/event.c index bffa235a6f..2c2cd83a85 100644 --- a/server/mpm/event/event.c +++ b/server/mpm/event/event.c @@ -3238,7 +3238,18 @@ static void perform_idle_server_maintenance(int child_bucket, int num_buckets) free_length = retained->idle_spawn_rate[child_bucket]; } if (free_length + active_daemons > active_daemons_limit) { - free_length = active_daemons_limit - active_daemons; + if (active_daemons < active_daemons_limit) { + free_length = active_daemons_limit - active_daemons; + } + else { + ap_log_error(APLOG_MARK, APLOG_TRACE1, 0, ap_server_conf, + "server is at active daemons limit, spawning " + "of %d children cancelled: %d/%d active, " + "rate %d", free_length, + active_daemons, active_daemons_limit, + retained->idle_spawn_rate[child_bucket]); + free_length = 0; + } } if (retained->idle_spawn_rate[child_bucket] >= 8) { ap_log_error(APLOG_MARK, APLOG_INFO, 0, ap_server_conf, APLOGNO(00486) -- cgit v1.2.3