diff options
Diffstat (limited to 'src/http/modules/ngx_http_gzip_filter_module.c')
-rw-r--r-- | src/http/modules/ngx_http_gzip_filter_module.c | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/src/http/modules/ngx_http_gzip_filter_module.c b/src/http/modules/ngx_http_gzip_filter_module.c index cb5397ad2..42dfa5021 100644 --- a/src/http/modules/ngx_http_gzip_filter_module.c +++ b/src/http/modules/ngx_http_gzip_filter_module.c @@ -837,12 +837,15 @@ ngx_http_gzip_body_filter(ngx_http_request_t *r, ngx_chain_t *in) } } - if (last == NGX_AGAIN && !ctx->done) { - return NGX_AGAIN; - } + if (ctx->out == NULL) { - if (ctx->out == NULL && ctx->busy == NULL) { - return NGX_OK; + if (last == NGX_AGAIN) { + return NGX_AGAIN; + } + + if (ctx->busy == NULL) { + return NGX_OK; + } } last = ngx_http_next_body_filter(r, ctx->out); |