comparison src/http/ngx_http_write_filter_module.c @ 1514:0bd321c8ce67 stable-0.5

r1409, r1413 merge: set delay only when almost whole sendfile_max_chunk was transferred
author Igor Sysoev <igor@sysoev.ru>
date Sat, 22 Sep 2007 19:23:34 +0000
parents 493a227edfd5
children fc0c2b4293e2
comparison
equal deleted inserted replaced
1513:bf7814d77484 1514:0bd321c8ce67
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 && (size_t) (c->sent - sent)
255 >= clcf->sendfile_max_chunk - 2 * ngx_pagesize)
256 {
253 c->write->delayed = 1; 257 c->write->delayed = 1;
254 ngx_add_timer(c->write, 1); 258 ngx_add_timer(c->write, 1);
255 } 259 }
256 260
257 for (cl = r->out; cl && cl != chain; /* void */) { 261 for (cl = r->out; cl && cl != chain; /* void */) {