diff options
| author | Igor Sysoev <igor@sysoev.ru> | 2007-07-05 11:36:16 +0000 |
|---|---|---|
| committer | Igor Sysoev <igor@sysoev.ru> | 2007-07-05 11:36:16 +0000 |
| commit | d79ae709ab7de1863aacd62fb967a059311cfb47 (patch) | |
| tree | 24b9c9da85305572802f78f4ce6c64809e25d3aa | |
| parent | 964b4bda466e5d2750dd4e9c14de9aa9d09cda5d (diff) | |
| download | nginx-d79ae709ab7de1863aacd62fb967a059311cfb47.tar.gz nginx-d79ae709ab7de1863aacd62fb967a059311cfb47.tar.bz2 | |
r1262 merge:
if a subrequest was finished and SSI was in middle of SSI command parsing
and the command was a fast subrequest then the second subrequest output
was just after first subrequest output and response part of main request
between the subrequests went after the second subrequest.
| -rw-r--r-- | src/http/modules/ngx_http_ssi_filter_module.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/http/modules/ngx_http_ssi_filter_module.c b/src/http/modules/ngx_http_ssi_filter_module.c index 5343ca0be..549ae4ce2 100644 --- a/src/http/modules/ngx_http_ssi_filter_module.c +++ b/src/http/modules/ngx_http_ssi_filter_module.c @@ -800,8 +800,14 @@ ngx_http_ssi_body_filter(ngx_http_request_t *r, ngx_chain_t *in) } } - if (cmd->flush && ctx->out) { - rc = ngx_http_ssi_output(r, ctx); + if (cmd->flush) { + + if (ctx->out) { + rc = ngx_http_ssi_output(r, ctx); + + } else { + rc = ngx_http_next_body_filter(r, NULL); + } if (rc == NGX_ERROR) { return NGX_ERROR; |
