From: Igor Sysoev Date: Tue, 8 Sep 2009 11:33:32 +0000 (+0000) Subject: fix request counter handling in perl module for $r->internal_redirect() X-Git-Tag: release-0.8.15~12 X-Git-Url: http://git.kaiwu.me/sitemap.xml?a=commitdiff_plain;h=4d4b2a1b40e1f0b5f669f05cfa22beaeb4f4c2f9;p=nginx.git fix request counter handling in perl module for $r->internal_redirect() and $r->has_request_body(), the bug was introduced in r3050 --- diff --git a/src/http/modules/perl/ngx_http_perl_module.c b/src/http/modules/perl/ngx_http_perl_module.c index 34ecc9a33..634801ece 100644 --- a/src/http/modules/perl/ngx_http_perl_module.c +++ b/src/http/modules/perl/ngx_http_perl_module.c @@ -238,6 +238,7 @@ ngx_http_perl_handle_request(ngx_http_request_t *r) "perl handler done: %i", rc); if (rc == NGX_DONE) { + ngx_http_finalize_request(r, rc); return; } @@ -257,11 +258,13 @@ ngx_http_perl_handle_request(ngx_http_request_t *r) ctx->redirect_uri.len = 0; if (ctx->done || ctx->next) { + ngx_http_finalize_request(r, NGX_DONE); return; } if (uri.len) { ngx_http_internal_redirect(r, &uri, &args); + ngx_http_finalize_request(r, NGX_DONE); return; }