Mercurial > hg > nginx-ranges
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) { |