summaryrefslogtreecommitdiff
path: root/src/http/ngx_http_request.c
diff options
context:
space:
mode:
authorNGINX team <nginx@nginx.org>2012-05-15 14:39:33 +0000
committerJon Kolb <jon@b0g.us>2012-05-15 14:39:33 +0000
commit3405367233d76421b59a6826b4f1ee651a816482 (patch)
tree3a419c814f315c2cb4caab1250622a17f23ab0b9 /src/http/ngx_http_request.c
parentceea69f25b435e4941c1c93f2cde7b8d0dcc31ce (diff)
downloadnginx-3405367233d76421b59a6826b4f1ee651a816482.tar.gz
Changes with nginx 1.3.0 15 May 2012v1.3.0
*) Feature: the "debug_connection" directive now supports IPv6 addresses and the "unix:" parameter. *) Feature: the "set_real_ip_from" directive and the "proxy" parameter of the "geo" directive now support IPv6 addresses. *) Feature: the "real_ip_recursive", "geoip_proxy", and "geoip_proxy_recursive" directives. *) Feature: the "proxy_recursive" parameter of the "geo" directive. *) Bugfix: a segmentation fault might occur in a worker process if the "resolver" directive was used. *) Bugfix: a segmentation fault might occur in a worker process if the "fastcgi_pass", "scgi_pass", or "uwsgi_pass" directives were used and backend returned incorrect response. *) Bugfix: a segmentation fault might occur in a worker process if the "rewrite" directive was used and new request arguments in a replacement used variables. *) Bugfix: nginx might hog CPU if the open file resource limit was reached. *) Bugfix: nginx might loop infinitely over backends if the "proxy_next_upstream" directive with the "http_404" parameter was used and there were backup servers specified in an upstream block. *) Bugfix: adding the "down" parameter of the "server" directive might cause unneeded client redistribution among backend servers if the "ip_hash" directive was used. *) Bugfix: socket leak. Thanks to Yichun Zhang. *) Bugfix: in the ngx_http_fastcgi_module.
Diffstat (limited to 'src/http/ngx_http_request.c')
-rw-r--r--src/http/ngx_http_request.c13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c
index 052f379ac..fa58dd99b 100644
--- a/src/http/ngx_http_request.c
+++ b/src/http/ngx_http_request.c
@@ -1933,6 +1933,7 @@ ngx_http_finalize_request(ngx_http_request_t *r, ngx_int_t rc)
if (rc == NGX_OK && r->filter_finalize) {
c->error = 1;
+ ngx_http_finalize_connection(r);
return;
}
@@ -2001,14 +2002,6 @@ ngx_http_finalize_request(ngx_http_request_t *r, ngx_int_t rc)
return;
}
-#if (NGX_DEBUG)
- if (r != c->data) {
- ngx_log_debug2(NGX_LOG_DEBUG_HTTP, c->log, 0,
- "http finalize non-active request: \"%V?%V\"",
- &r->uri, &r->args);
- }
-#endif
-
pr = r->parent;
if (r == c->data) {
@@ -2042,6 +2035,10 @@ ngx_http_finalize_request(ngx_http_request_t *r, ngx_int_t rc)
} else {
+ ngx_log_debug2(NGX_LOG_DEBUG_HTTP, c->log, 0,
+ "http finalize non-active request: \"%V?%V\"",
+ &r->uri, &r->args);
+
r->write_event_handler = ngx_http_request_finalizer;
if (r->waited) {