]> git.ipfire.org Git - thirdparty/apache/httpd.git/commitdiff
mpm_event: Follow up to r1893014: log when children are not spawned.
authorYann Ylavic <ylavic@apache.org>
Tue, 7 Sep 2021 20:13:42 +0000 (20:13 +0000)
committerYann Ylavic <ylavic@apache.org>
Tue, 7 Sep 2021 20:13:42 +0000 (20:13 +0000)
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

index bffa235a6f9ca195321fcf78a15df0afb2f777fa..2c2cd83a85b837d85030fa4621f8c6a92856e947 100644 (file)
@@ -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)