diff options
| author | Igor Sysoev <igor@sysoev.ru> | 2009-10-26 16:22:24 +0000 |
|---|---|---|
| committer | Igor Sysoev <igor@sysoev.ru> | 2009-10-26 16:22:24 +0000 |
| commit | 39625e5c46060174cb17fbc9e079aabac686ecec (patch) | |
| tree | e689d342918691c6d4c76eab5503f8c04ab7dec4 /src/http/ngx_http_request.c | |
| parent | f10b4e07a562f967c5de4d9e65f2a023dd2e7ada (diff) | |
| download | nginx-39625e5c46060174cb17fbc9e079aabac686ecec.tar.gz nginx-39625e5c46060174cb17fbc9e079aabac686ecec.tar.bz2 | |
merge r2972, r2994, r3133, r3142, r3143, r3174, r3175, r3176:
various perl fixes:
*) fix ngx_http_send_special() for subrequests handled by perl
*) allow perl "sub{..."
*) restore environ, this fixes segfault on reconfiguration failure when
perl module creates new environment
*) optimize error handling
*) use ngx_conf_set_str_array_slot() for perl_require
*) allow several perl_modules
Diffstat (limited to 'src/http/ngx_http_request.c')
| -rw-r--r-- | src/http/ngx_http_request.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c index ebf7ca750..dae91f080 100644 --- a/src/http/ngx_http_request.c +++ b/src/http/ngx_http_request.c @@ -2706,7 +2706,14 @@ ngx_http_send_special(ngx_http_request_t *r, ngx_uint_t flags) } if (flags & NGX_HTTP_LAST) { - b->last_buf = 1; + + if (r == r->main && !r->post_action) { + b->last_buf = 1; + + } else { + b->sync = 1; + b->last_in_chain = 1; + } } if (flags & NGX_HTTP_FLUSH) { |
