ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[no subject]



Probably we may introduce something like $upstream_header_time 
with the meaning you assumed, but I'm not really sure we need to.

Maxim Dounin


> ---
>  src/http/ngx_http_upstream.c |   23 +++++++++++------------
>  1 files changed, 11 insertions(+), 12 deletions(-)
> 
> diff --git a/src/http/ngx_http_upstream.c b/src/http/ngx_http_upstream.c
> index 7ae15cb..0771388 100644
> --- a/src/http/ngx_http_upstream.c
> +++ b/src/http/ngx_http_upstream.c
> @@ -1843,10 +1843,21 @@ ngx_http_upstream_send_response(ngx_http_request_t 
> *r, ngx_http_upstream_t *u)
>      int                        tcp_nodelay;
>      ssize_t                    n;
>      ngx_int_t                  rc;
> +    ngx_time_t                *tp;
>      ngx_event_pipe_t          *p;
>      ngx_connection_t          *c;
>      ngx_http_core_loc_conf_t  *clcf;
>  
> +    if (u->state && u->state->response_sec) {
> +        tp = ngx_timeofday();
> +        u->state->response_sec = tp->sec - u->state->response_sec;
> +        u->state->response_msec = tp->msec - u->state->response_msec;
> +
> +        if (u->pipe) {
> +            u->state->response_length = u->pipe->read_length;
> +        }
> +    }
> +
>      rc = ngx_http_send_header(r);
>  
>      if (rc == NGX_ERROR || rc > NGX_OK || r->post_action) {
> @@ -2735,8 +2746,6 @@ static void
>  ngx_http_upstream_finalize_request(ngx_http_request_t *r,
>      ngx_http_upstream_t *u, ngx_int_t rc)
>  {
> -    ngx_time_t  *tp;
> -
>      ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0,
>                     "finalize http upstream request: %i", rc);
>  
> @@ -2744,16 +2753,6 @@ ngx_http_upstream_finalize_request(ngx_http_request_t 
> *r,
>          *u->cleanup = NULL;
>      }
>  
> -    if (u->state && u->state->response_sec) {
> -        tp = ngx_timeofday();
> -        u->state->response_sec = tp->sec - u->state->response_sec;
> -        u->state->response_msec = tp->msec - u->state->response_msec;
> -
> -        if (u->pipe) {
> -            u->state->response_length = u->pipe->read_length;
> -        }
> -    }
> -
>      u->finalize_request(r, rc);
>  
>      if (u->peer.free) {
> -- 
> 1.6.2
> 
> 



 




Copyright © Lexa Software, 1996-2009.