comparison 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
comparison
equal deleted inserted replaced
301:a025840de07d 302:9b7db0df50f0
471 #endif 471 #endif
472 472
473 size += ngx_buf_size(cl->buf); 473 size += ngx_buf_size(cl->buf);
474 } 474 }
475 475
476 if (size == 0) { 476 if (size == 0 && !ctx->connection->buffered) {
477 return NGX_OK; 477 return NGX_OK;
478 } 478 }
479 479
480 ctx->out = ctx->connection->send_chain(ctx->connection, ctx->out, 480 ctx->out = ctx->connection->send_chain(ctx->connection, ctx->out,
481 ctx->limit); 481 ctx->limit);
487 return NGX_ERROR; 487 return NGX_ERROR;
488 } 488 }
489 489
490 if (ctx->out == NULL) { 490 if (ctx->out == NULL) {
491 ctx->last = &ctx->out; 491 ctx->last = &ctx->out;
492 }
493
494 if (!ctx->connection->buffered) {
492 return NGX_OK; 495 return NGX_OK;
493 } 496 }
494 497
495 return NGX_AGAIN; 498 return NGX_AGAIN;
496 } 499 }