comparison src/http/ngx_http_postpone_filter_module.c @ 419:cdd5890b5538

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.
author Maxim Dounin <mdounin@mdounin.ru>
date Fri, 19 Sep 2008 04:31:53 +0400
parents 12defd37f578
children 8fbdd980b527
comparison
equal deleted inserted replaced
418:c65888a079bf 419:cdd5890b5538
188 rc = ngx_http_postpone_filter_output_postponed_request(pr->request); 188 rc = ngx_http_postpone_filter_output_postponed_request(pr->request);
189 189
190 if (rc == NGX_AGAIN || rc == NGX_ERROR) { 190 if (rc == NGX_AGAIN || rc == NGX_ERROR) {
191 return rc; 191 return rc;
192 } 192 }
193
194 r->postponed = r->postponed->next;
195 pr = r->postponed;
196 }
197
198 if (pr == NULL) {
199 break;
200 } 193 }
201 194
202 out = pr->out; 195 out = pr->out;
203 196
204 if (out) { 197 if (out) {