aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxim Dounin <mdounin@mdounin.ru>2013-07-25 14:54:47 +0400
committerMaxim Dounin <mdounin@mdounin.ru>2013-07-25 14:54:47 +0400
commit68fab7c8c4722e86dc171f99ce795976574d4348 (patch)
tree7b436fbd56263c65bf1cb7ff17595f4aa48e9520
parent8d568c7ae01d5bcf566d64ae89622ee67810bb28 (diff)
downloadnginx-68fab7c8c4722e86dc171f99ce795976574d4348.tar.gz
nginx-68fab7c8c4722e86dc171f99ce795976574d4348.zip
Sub filter: flush buffers handling.
-rw-r--r--src/http/modules/ngx_http_sub_filter_module.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/http/modules/ngx_http_sub_filter_module.c b/src/http/modules/ngx_http_sub_filter_module.c
index 6a14dbdc2..3d32b0fbc 100644
--- a/src/http/modules/ngx_http_sub_filter_module.c
+++ b/src/http/modules/ngx_http_sub_filter_module.c
@@ -369,7 +369,9 @@ ngx_http_sub_body_filter(ngx_http_request_t *r, ngx_chain_t *in)
continue;
}
- if (ctx->buf->last_buf || ngx_buf_in_memory(ctx->buf)) {
+ if (ctx->buf->last_buf || ctx->buf->flush
+ || ngx_buf_in_memory(ctx->buf))
+ {
if (b == NULL) {
cl = ngx_chain_get_free_buf(r->pool, &ctx->free);
if (cl == NULL) {
@@ -387,6 +389,7 @@ ngx_http_sub_body_filter(ngx_http_request_t *r, ngx_chain_t *in)
}
b->last_buf = ctx->buf->last_buf;
+ b->flush = ctx->buf->flush;
b->shadow = ctx->buf;
b->recycled = ctx->buf->recycled;