diff options
author | Igor Sysoev <igor@sysoev.ru> | 2007-06-17 18:10:43 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2007-06-17 18:10:43 +0000 |
commit | 414e94f0e9eb2dccca69877f173ac42584424e7e (patch) | |
tree | 466af2999d7f74a454b27638819a601a31a157ca /src | |
parent | de278125c17e209467097512c7da8519dcb9ab69 (diff) | |
download | nginx-414e94f0e9eb2dccca69877f173ac42584424e7e.tar.gz nginx-414e94f0e9eb2dccca69877f173ac42584424e7e.zip |
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.
Diffstat (limited to 'src')
-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; |