# HG changeset patch # User Igor Sysoev # Date 1215431999 0 # Node ID 4c30d2380d816500474dade1507b3cc98aa69505 # Parent 4300c587db9ed00bcb01f212629f35a8e7653969 r2067 merge: fix bug when inactive subrequest is truncated, if output_buffers are less than subrequest size diff -r 4300c587db9e -r 4c30d2380d81 src/http/ngx_http_postpone_filter_module.c --- a/src/http/ngx_http_postpone_filter_module.c Mon Jul 07 11:58:55 2008 +0000 +++ b/src/http/ngx_http_postpone_filter_module.c Mon Jul 07 11:59:59 2008 +0000 @@ -168,7 +168,7 @@ pr = r->postponed; if (pr == NULL) { - return NGX_OK; + break; } if (pr->request) { @@ -196,7 +196,7 @@ } if (pr == NULL) { - return NGX_OK; + break; } out = pr->out; @@ -215,6 +215,17 @@ r->postponed = r->postponed->next; } + + if (r->out) { + ngx_log_debug2(NGX_LOG_DEBUG_HTTP, r->connection->log, 0, + "http postpone filter out again \"%V?%V\"", + &r->uri, &r->args); + + r->connection->data = r; + return NGX_AGAIN; + } + + return NGX_OK; }