diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/http/ngx_http_request.c | 8 | ||||
-rw-r--r-- | src/http/ngx_http_upstream.c | 2 |
2 files changed, 8 insertions, 2 deletions
diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c index 57128a361..d60384fe1 100644 --- a/src/http/ngx_http_request.c +++ b/src/http/ngx_http_request.c @@ -2694,7 +2694,13 @@ 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->last_in_chain = 1; + } } if (flags & NGX_HTTP_FLUSH) { diff --git a/src/http/ngx_http_upstream.c b/src/http/ngx_http_upstream.c index add5b21d9..cc303b431 100644 --- a/src/http/ngx_http_upstream.c +++ b/src/http/ngx_http_upstream.c @@ -2888,7 +2888,7 @@ ngx_http_upstream_finalize_request(ngx_http_request_t *r, r->connection->log->action = "sending to client"; - if (rc == 0 && r == r->main && !r->post_action) { + if (rc == 0) { rc = ngx_http_send_special(r, NGX_HTTP_LAST); } |