fix bug when inactive subrequest is truncated,
if output_buffers are less than subrequest size
diff --git a/src/http/ngx_http_postpone_filter_module.c b/src/http/ngx_http_postpone_filter_module.c
index 3262166..ca5cb9e 100644
--- a/src/http/ngx_http_postpone_filter_module.c
+++ b/src/http/ngx_http_postpone_filter_module.c
@@ -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;
}