diff src/core/ngx_output_chain.c @ 302:9b7db0df50f0 NGINX_0_5_21

nginx 0.5.21 *) Bugfix: if server has more than about ten locations, then regex locations might be choosen not in that order as they were specified. *) Bugfix: a worker process may got caught in an endless loop on 64-bit platform, if the 33-rd or next in succession backend has failed. Thanks to Anton Povarov. *) Bugfix: a bus error might occur on Solaris/sparc64 if the PCRE library was used. Thanks to Andrei Nigmatulin. *) Bugfix: in the HTTPS protocol in the "proxy_pass" directive.
author Igor Sysoev <http://sysoev.ru>
date Mon, 28 May 2007 00:00:00 +0400
parents f3ec44f4a53b
children e4f4cbfed5f5
line wrap: on
line diff
--- a/src/core/ngx_output_chain.c
+++ b/src/core/ngx_output_chain.c
@@ -473,7 +473,7 @@ ngx_chain_writer(void *data, ngx_chain_t
         size += ngx_buf_size(cl->buf);
     }
 
-    if (size == 0) {
+    if (size == 0 && !ctx->connection->buffered) {
         return NGX_OK;
     }
 
@@ -489,6 +489,9 @@ ngx_chain_writer(void *data, ngx_chain_t
 
     if (ctx->out == NULL) {
         ctx->last = &ctx->out;
+    }
+
+    if (!ctx->connection->buffered) {
         return NGX_OK;
     }