aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2007-06-17 18:10:43 +0000
committerIgor Sysoev <igor@sysoev.ru>2007-06-17 18:10:43 +0000
commit414e94f0e9eb2dccca69877f173ac42584424e7e (patch)
tree466af2999d7f74a454b27638819a601a31a157ca /src
parentde278125c17e209467097512c7da8519dcb9ab69 (diff)
downloadnginx-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.c10
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;