# HG changeset patch # User Maxim Dounin # Date 1221784313 -14400 # Node ID cdd5890b55383101ffcab6cf48ec81eb8dff8b9a # Parent c65888a079bfd96a2eedb308c9d5c7b4f7de6296 Postpone filter: don't skip subrequests. When multiple subrequests are used without intermediate chains from main request, postpone filter may skip some of the subrequests. Remove in-loop microoptimization in ngx_http_postpone_filter_output_postpone() to handle such situation properly. Looks like it's impossible to trigger the problem with official nginx modules. diff --git a/src/http/ngx_http_postpone_filter_module.c b/src/http/ngx_http_postpone_filter_module.c --- a/src/http/ngx_http_postpone_filter_module.c +++ b/src/http/ngx_http_postpone_filter_module.c @@ -190,13 +190,6 @@ ngx_http_postpone_filter_output_postpone if (rc == NGX_AGAIN || rc == NGX_ERROR) { return rc; } - - r->postponed = r->postponed->next; - pr = r->postponed; - } - - if (pr == NULL) { - break; } out = pr->out;