summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorIgor Sysoev <igor@sysoev.ru>2007-07-05 11:36:16 +0000
committerIgor Sysoev <igor@sysoev.ru>2007-07-05 11:36:16 +0000
commitd79ae709ab7de1863aacd62fb967a059311cfb47 (patch)
tree24b9c9da85305572802f78f4ce6c64809e25d3aa
parent964b4bda466e5d2750dd4e9c14de9aa9d09cda5d (diff)
downloadnginx-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.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;