Mercurial > hg > nginx-quic
diff src/http/ngx_http_write_filter_module.c @ 635:18268abd340c release-0.3.39
nginx-0.3.39-RELEASE import
*) Feature: the "uninitialized_variable_warn" directive; the logging
level of the "uninitialized variable" message was lowered from
"alert" to "warn".
*) Feature: the "override_charset" directive.
*) Change: now if the unknown variable is used in the "echo" and "if
expr='$name'" SSI-commands, then the "unknown variable" message is
not logged.
*) Bugfix: the active connection counter increased on the exceeding of
the connection limit specified by the "worker_connections"
directive; the bug had appeared in 0.2.0.
*) Bugfix: the limit rate might not work on some condition; the bug had
appeared in 0.3.38.
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Mon, 17 Apr 2006 19:55:41 +0000 |
parents | f971949ffb58 |
children | 9079ee4735ae |
line wrap: on
line diff
--- a/src/http/ngx_http_write_filter_module.c +++ b/src/http/ngx_http_write_filter_module.c @@ -209,9 +209,20 @@ ngx_http_write_filter(ngx_http_request_t return NGX_ERROR; } - to_send = r->limit_rate * (ngx_time() - r->start_time + 1) - c->sent; + if (r->limit_rate) { + to_send = r->limit_rate * (ngx_time() - r->start_time + 1) - c->sent; - if (to_send < 0) { + if (to_send <= 0) { + c->write->delayed = 1; + ngx_add_timer(r->connection->write, + (ngx_msec_t) (- to_send * 1000 / r->limit_rate)); + + c->buffered |= NGX_HTTP_WRITE_BUFFERED; + + return NGX_AGAIN; + } + + } else { to_send = 0; }