aboutsummaryrefslogtreecommitdiff
path: root/src/event/ngx_event_proxy.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/event/ngx_event_proxy.c')
-rw-r--r--src/event/ngx_event_proxy.c4
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;
}