On Thu, Feb 25, 2016 at 11:27 AM,  <ic...@apache.org> wrote:
> Author: icing
> Date: Thu Feb 25 10:27:27 2016
> New Revision: 1732275
>
> URL: http://svn.apache.org/viewvc?rev=1732275&view=rev
> Log:
> merging pre_close_connection hook, prep_lingering_close and ap_update_child() 
> additions from trunk
>
> Modified:
[]
>     httpd/httpd/branches/2.4.x/server/scoreboard.c
[]
>
> Modified: httpd/httpd/branches/2.4.x/server/scoreboard.c
> URL: 
> http://svn.apache.org/viewvc/httpd/httpd/branches/2.4.x/server/scoreboard.c?rev=1732275&r1=1732274&r2=1732275&view=diff
> ==============================================================================
> --- httpd/httpd/branches/2.4.x/server/scoreboard.c (original)
> +++ httpd/httpd/branches/2.4.x/server/scoreboard.c Thu Feb 25 10:27:27 2016
> @@ -32,6 +32,7 @@
>  #include "http_main.h"
>  #include "http_core.h"
>  #include "http_config.h"
> +#include "http_protocol.h"
>  #include "ap_mpm.h"
>
>  #include "scoreboard.h"
> @@ -457,7 +458,9 @@ static int update_child_status_internal(
>                                          int thread_num,
>                                          int status,
>                                          conn_rec *c,
> -                                        request_rec *r)
> +                                        server_rec *s,
> +                                        request_rec *r,
> +                                        const char *descr)
>  {
>      int old_status;
>      worker_score *ws;
[]
> @@ -489,28 +495,44 @@ static int update_child_status_internal(
>              }
>              ws->conn_count = 0;
>              ws->conn_bytes = 0;
> +            ws->last_used = apr_time_now();
>          }
> -        if (r) {
> -            const char *client = ap_get_remote_host(c, r->per_dir_config,
> -                                 REMOTE_NOLOOKUP, NULL);
> -            if (!client || !strcmp(client, c->client_ip)) {
> -                apr_cpystrn(ws->client, r->useragent_ip, sizeof(ws->client));
> +        if (status == SERVER_READY) {
> +            ws->client[0]='\0';
> +            ws->vhost[0]='\0';
> +            ws->request[0]='\0';
> +            ws->protocol[0]='\0';
> +        }

This seems to have changed mod_status' output.
Prior to this change the previous values were displayed until the
worker was reused for another connection/request, now it is reset as
soon as the worker is idle (i.e. each connection/request end).

I prefer the new behaviour, but there are some concerns on users@...

Reply via email to