]> git.kaiwu.me - nginx.git/commitdiff
Merge of r4621, r4641: filter_finalize fixes.
authorMaxim Dounin <mdounin@mdounin.ru>
Mon, 4 Jun 2012 11:15:46 +0000 (11:15 +0000)
committerMaxim Dounin <mdounin@mdounin.ru>
Mon, 4 Jun 2012 11:15:46 +0000 (11:15 +0000)
*) Fixed possible request hang with filter finalization.

   With r->filter_finalize set the ngx_http_finalize_connection() wasn't
   called from ngx_http_finalize_request() called with NGX_OK, resulting in
   r->main->count not being decremented, thus causing request hang in some
   rare situations.

   Patch by Yichun Zhang (agentzh).

*) Fixed segfault with filter_finalize introduced in r4621 (1.3.0).

See the following thread for more details:
http://mailman.nginx.org/pipermail/nginx-devel/2012-May/002190.html

src/http/ngx_http_request.c

index 59d4d4ae610a28d317d2d7d935c2db5879f8bd3b..06f89d648ef191df1dab3f490d693db51e5f0ea7 100644 (file)
@@ -1933,7 +1933,6 @@ ngx_http_finalize_request(ngx_http_request_t *r, ngx_int_t rc)
 
     if (rc == NGX_OK && r->filter_finalize) {
         c->error = 1;
-        return;
     }
 
     if (rc == NGX_DECLINED) {