changeset 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 bf7814d77484
children bb61a910e832
files src/http/ngx_http_write_filter_module.c
diffstat 1 files changed, 5 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/http/ngx_http_write_filter_module.c
+++ b/src/http/ngx_http_write_filter_module.c
@@ -249,7 +249,11 @@ 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
+               && (size_t) (c->sent - sent)
+                                >= clcf->sendfile_max_chunk - 2 * ngx_pagesize)
+    {
         c->write->delayed = 1;
         ngx_add_timer(c->write, 1);
     }