aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMaxim Dounin <mdounin@mdounin.ru>2012-05-04 11:35:22 +0000
committerMaxim Dounin <mdounin@mdounin.ru>2012-05-04 11:35:22 +0000
commite0e1c4567cb5f23fae5201e3a167aa788d35696b (patch)
tree0c477fd4a883deb1fd5cb06e6d386e7afb6fc398 /src
parent700364f62dedba8f1b0b1ad965bf7d6425b02201 (diff)
downloadnginx-e0e1c4567cb5f23fae5201e3a167aa788d35696b.tar.gz
nginx-e0e1c4567cb5f23fae5201e3a167aa788d35696b.zip
Added write event handler reset in ngx_http_named_location().
On internal redirects this happens via ngx_http_handler() call, which is not called on named location redirect. As a result incorrect write handler remained (if previously set) and this might cause incorrect behaviour (likely request hang). Patch by Yichun Zhang (agentzh).
Diffstat (limited to 'src')
-rw-r--r--src/http/ngx_http_core_module.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/http/ngx_http_core_module.c b/src/http/ngx_http_core_module.c
index 42dd6644e..29b918eaa 100644
--- a/src/http/ngx_http_core_module.c
+++ b/src/http/ngx_http_core_module.c
@@ -2599,6 +2599,7 @@ ngx_http_named_location(ngx_http_request_t *r, ngx_str_t *name)
r->phase_handler = cmcf->phase_engine.location_rewrite_index;
+ r->write_event_handler = ngx_http_core_run_phases;
ngx_http_core_run_phases(r);
return NGX_DONE;