diff options
Diffstat (limited to 'src/event/ngx_event_proxy.c')
-rw-r--r-- | src/event/ngx_event_proxy.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/event/ngx_event_proxy.c b/src/event/ngx_event_proxy.c index c6bd8a373..a683be3c9 100644 --- a/src/event/ngx_event_proxy.c +++ b/src/event/ngx_event_proxy.c @@ -246,7 +246,9 @@ int ngx_event_proxy_write_to_downstream(ngx_event_proxy_t *p) } else if (!p->cachable && p->in) { out = p->in; - if (p->busy_len + ngx_hunk_size(out->hunk) > p->max_busy_len) { + if (!(p->upstream_eof || p->upstream_error || p->upstream_done) + && (p->busy_len + ngx_hunk_size(out->hunk) > p->max_busy_len)) + { break; } |