From: Jeff Trawick Date: Wed, 27 Apr 2011 10:31:06 +0000 (+0000) Subject: Follow on to 1057048: X-Git-Tag: 2.3.12~28 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6d7fe15c43df4eb629317e7fb672ba4014f632de;p=apache Follow on to 1057048: In the map of active workers, don't print spaces for scoreboard slots which aren't used due to ThreadsPerChild < ThreadLimit or MaxClients/ThreadsPerChild < ServerLimit; simply omit those slots from the display. Workers in those slots which are gracefully exiting (from a previous generation with a different MPM config) will be displayed, and the map will shrink as those workers exit. git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1097070 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/modules/generators/mod_status.c b/modules/generators/mod_status.c index 7a816b2568..8e2c22e33a 100644 --- a/modules/generators/mod_status.c +++ b/modules/generators/mod_status.c @@ -183,7 +183,7 @@ static int status_handler(request_rec *r) const char *loc; apr_time_t nowtime; apr_interval_time_t up_time; - int j, i, res; + int j, i, res, written; int ready; int busy; unsigned long count; @@ -470,13 +470,17 @@ static int status_handler(request_rec *r) else ap_rputs("Scoreboard: ", r); + written = 0; for (i = 0; i < server_limit; ++i) { for (j = 0; j < thread_limit; ++j) { int indx = (i * thread_limit) + j; - ap_rputc(stat_buffer[indx], r); - if ((indx % STATUS_MAXLINE == (STATUS_MAXLINE - 1)) - && !short_report) - ap_rputs("\n", r); + if (stat_buffer[indx] != status_flags[SERVER_DISABLED]) { + ap_rputc(stat_buffer[indx], r); + if ((written % STATUS_MAXLINE == (STATUS_MAXLINE - 1)) + && !short_report) + ap_rputs("\n", r); + written++; + } } } @@ -496,7 +500,6 @@ static int status_handler(request_rec *r) ap_rputs("\"G\" Gracefully finishing,
\n", r); ap_rputs("\"I\" Idle cleanup of worker, \n", r); ap_rputs("\".\" Open slot with no current process,
\n", r); - ap_rputs("\" \" Slot disabled by MaxClients setting

\n", r); ap_rputs("

\n", r); if (!ap_extended_status) { int j;