# HG changeset patch # User Igor Sysoev # Date 1187606141 0 # Node ID e67ef50c3176d059fa8f005e9a5cb595da282cd4 # Parent 6e99e8c71bde754bbfeb3c9f5e93ddc1bdf0aca0 set delay only when almost whole sendfile_max_chunk was transferred diff --git a/src/http/ngx_http_write_filter_module.c b/src/http/ngx_http_write_filter_module.c --- a/src/http/ngx_http_write_filter_module.c +++ b/src/http/ngx_http_write_filter_module.c @@ -249,7 +249,10 @@ ngx_http_write_filter(ngx_http_request_t c->write->delayed = 1; ngx_add_timer(c->write, (ngx_msec_t) (sent * 1000 / r->limit_rate + 1)); - } else if (c->write->ready && clcf->sendfile_max_chunk) { + } else if (c->write->ready + && clcf->sendfile_max_chunk + && c->sent - sent >= clcf->sendfile_max_chunk - 2 * ngx_pagesize) + { c->write->delayed = 1; ngx_add_timer(c->write, 1); }