Mercurial > hg > nginx
changeset 1705:d22095839d86
optimize r->upstream usage
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Mon, 10 Dec 2007 12:29:43 +0000 |
parents | e584e946e198 |
children | 9242e21d2f8d |
files | src/http/ngx_http_upstream.c |
diffstat | 1 files changed, 19 insertions(+), 16 deletions(-) [+] |
line wrap: on
line diff
--- a/src/http/ngx_http_upstream.c Mon Dec 10 12:09:51 2007 +0000 +++ b/src/http/ngx_http_upstream.c Mon Dec 10 12:29:43 2007 +0000 @@ -381,7 +381,7 @@ } else { - host = &r->upstream->resolved->host; + host = &u->resolved->host; umcf = ngx_http_get_module_main_conf(r, ngx_http_upstream_module); @@ -840,10 +840,9 @@ return NGX_ERROR; } - ngx_memzero(&r->upstream->headers_in, - sizeof(ngx_http_upstream_headers_in_t)); - - if (ngx_list_init(&r->upstream->headers_in.headers, r->pool, 8, + ngx_memzero(&u->headers_in, sizeof(ngx_http_upstream_headers_in_t)); + + if (ngx_list_init(&u->headers_in.headers, r->pool, 8, sizeof(ngx_table_elt_t)) != NGX_OK) { @@ -1078,7 +1077,7 @@ u->buffer.tag = u->output.tag; - if (ngx_list_init(&r->upstream->headers_in.headers, r->pool, 8, + if (ngx_list_init(&u->headers_in.headers, r->pool, 8, sizeof(ngx_table_elt_t)) != NGX_OK) { @@ -1247,11 +1246,11 @@ umcf = ngx_http_get_module_main_conf(r, ngx_http_upstream_module); - if (r->upstream->headers_in.x_accel_redirect) { + if (u->headers_in.x_accel_redirect) { ngx_http_upstream_finalize_request(r, u, NGX_DECLINED); - part = &r->upstream->headers_in.headers.part; + part = &u->headers_in.headers.part; h = part->elts; for (i = 0; /* void */; i++) { @@ -1278,7 +1277,7 @@ } } - uri = &r->upstream->headers_in.x_accel_redirect->value; + uri = &u->headers_in.x_accel_redirect->value; args.len = 0; args.data = NULL; flags = 0; @@ -1300,7 +1299,7 @@ return; } - part = &r->upstream->headers_in.headers.part; + part = &u->headers_in.headers.part; h = part->elts; for (i = 0; /* void */; i++) { @@ -2164,9 +2163,9 @@ #endif - if (r->upstream->headers_in.last_modified) { - - last_modified = &r->upstream->headers_in.last_modified->value; + if (u->headers_in.last_modified) { + + last_modified = &u->headers_in.last_modified->value; lm = ngx_http_parse_time(last_modified->data, last_modified->len); @@ -2372,14 +2371,18 @@ { ngx_http_request_t *r = data; + ngx_http_upstream_t *u; + ngx_log_debug1(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, "cleanup http upstream request: \"%V\"", &r->uri); - if (r->upstream->resolved && r->upstream->resolved->ctx) { - ngx_resolve_name_done(r->upstream->resolved->ctx); + u = r->upstream; + + if (u->resolved && u->resolved->ctx) { + ngx_resolve_name_done(u->resolved->ctx); } - ngx_http_upstream_finalize_request(r, r->upstream, NGX_DONE); + ngx_http_upstream_finalize_request(r, u, NGX_DONE); }