aboutsummaryrefslogtreecommitdiff
path: root/src/http/ngx_http_request.c
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2010-01-28 08:33:24 +0000
committerIgor Sysoev <igor@sysoev.ru>2010-01-28 08:33:24 +0000
commit918ef947da4c809d1b87f284070ab7b19645ab9d (patch)
tree9d3e2726ad2548e94d8eb1d05d71954e469f6fcc /src/http/ngx_http_request.c
parent2f5bcf2d172c7292d1054db04a4ecf83d937bd16 (diff)
downloadnginx-918ef947da4c809d1b87f284070ab7b19645ab9d.tar.gz
nginx-918ef947da4c809d1b87f284070ab7b19645ab9d.zip
Fix segfault when while discarding body a write event handler is called,
runs ngx_http_core_run_phases(), and starts a request processing again. The write event has clear type and remained in a keepalive connection. The bug was introduced in r3050.
Diffstat (limited to 'src/http/ngx_http_request.c')
-rw-r--r--src/http/ngx_http_request.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c
index 30639810d..63eccf177 100644
--- a/src/http/ngx_http_request.c
+++ b/src/http/ngx_http_request.c
@@ -1997,6 +1997,7 @@ ngx_http_finalize_request(ngx_http_request_t *r, ngx_int_t rc)
}
r->done = 1;
+ r->write_event_handler = ngx_http_request_empty_handler;
if (!r->post_action) {
r->request_complete = 1;