comparison src/http/ngx_http_write_filter_module.c @ 1408:e67ef50c3176

set delay only when almost whole sendfile_max_chunk was transferred
author Igor Sysoev <igor@sysoev.ru>
date Mon, 20 Aug 2007 10:35:41 +0000
parents 493a227edfd5
children 97668157b352
comparison
equal deleted inserted replaced
1407:6e99e8c71bde 1408:e67ef50c3176
247 if (r->limit_rate) { 247 if (r->limit_rate) {
248 sent = c->sent - sent; 248 sent = c->sent - sent;
249 c->write->delayed = 1; 249 c->write->delayed = 1;
250 ngx_add_timer(c->write, (ngx_msec_t) (sent * 1000 / r->limit_rate + 1)); 250 ngx_add_timer(c->write, (ngx_msec_t) (sent * 1000 / r->limit_rate + 1));
251 251
252 } else if (c->write->ready && clcf->sendfile_max_chunk) { 252 } else if (c->write->ready
253 && clcf->sendfile_max_chunk
254 && c->sent - sent >= clcf->sendfile_max_chunk - 2 * ngx_pagesize)
255 {
253 c->write->delayed = 1; 256 c->write->delayed = 1;
254 ngx_add_timer(c->write, 1); 257 ngx_add_timer(c->write, 1);
255 } 258 }
256 259
257 for (cl = r->out; cl && cl != chain; /* void */) { 260 for (cl = r->out; cl && cl != chain; /* void */) {