Mercurial > hg > nginx
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 */) { |