Mercurial > hg > nginx
changeset 5995:5f179f344096
Upstream: upstream argument in ngx_http_upstream_process_request().
In case of filter finalization, r->upstream might be changed during
the ngx_event_pipe() call. Added an argument to preserve it while
calling the ngx_http_upstream_process_request() function.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Mon, 02 Mar 2015 21:44:42 +0300 |
parents | 5abf5af257a7 |
children | ab660d7c9980 |
files | src/http/ngx_http_upstream.c |
diffstat | 1 files changed, 7 insertions(+), 7 deletions(-) [+] |
line wrap: on
line diff
--- a/src/http/ngx_http_upstream.c Mon Mar 02 21:44:32 2015 +0300 +++ b/src/http/ngx_http_upstream.c Mon Mar 02 21:44:42 2015 +0300 @@ -76,7 +76,8 @@ static void ngx_http_upstream_process_downstream(ngx_http_request_t *r); static void ngx_http_upstream_process_upstream(ngx_http_request_t *r, ngx_http_upstream_t *u); -static void ngx_http_upstream_process_request(ngx_http_request_t *r); +static void ngx_http_upstream_process_request(ngx_http_request_t *r, + ngx_http_upstream_t *u); static void ngx_http_upstream_store(ngx_http_request_t *r, ngx_http_upstream_t *u); static void ngx_http_upstream_dummy_handler(ngx_http_request_t *r, @@ -3349,7 +3350,7 @@ } } - ngx_http_upstream_process_request(r); + ngx_http_upstream_process_request(r, u); } @@ -3417,18 +3418,17 @@ } } - ngx_http_upstream_process_request(r); + ngx_http_upstream_process_request(r, u); } static void -ngx_http_upstream_process_request(ngx_http_request_t *r) +ngx_http_upstream_process_request(ngx_http_request_t *r, + ngx_http_upstream_t *u) { ngx_temp_file_t *tf; ngx_event_pipe_t *p; - ngx_http_upstream_t *u; - - u = r->upstream; + p = u->pipe; if (u->peer.connection) {