comparison src/http/ngx_http_write_filter_module.c @ 210:14050d2bec9b NGINX_0_3_52

nginx 0.3.52 *) Change: the ngx_http_index_module behavior for the "POST /" requests is reverted to the 0.3.40 version state: the module now does not return the 405 error. *) Bugfix: the worker process may got caught in an endless loop if the limit rate was used; bug appeared in 0.3.37. *) Bugfix: ngx_http_charset_module logged "unknown charset" alert, even if the recoding was not needed; bug appeared in 0.3.50. *) Bugfix: if a code response of the PUT request was 409, then a temporary file was not removed.
author Igor Sysoev <http://sysoev.ru>
date Mon, 03 Jul 2006 00:00:00 +0400
parents 71ff1e2b484a
children fa32d59d9a15
comparison
equal deleted inserted replaced
209:10c6621dce28 210:14050d2bec9b
213 to_send = r->limit_rate * (ngx_time() - r->start_time + 1) - c->sent; 213 to_send = r->limit_rate * (ngx_time() - r->start_time + 1) - c->sent;
214 214
215 if (to_send <= 0) { 215 if (to_send <= 0) {
216 c->write->delayed = 1; 216 c->write->delayed = 1;
217 ngx_add_timer(r->connection->write, 217 ngx_add_timer(r->connection->write,
218 (ngx_msec_t) (- to_send * 1000 / r->limit_rate)); 218 (ngx_msec_t) (- to_send * 1000 / r->limit_rate + 1));
219 219
220 c->buffered |= NGX_HTTP_WRITE_BUFFERED; 220 c->buffered |= NGX_HTTP_WRITE_BUFFERED;
221 221
222 return NGX_AGAIN; 222 return NGX_AGAIN;
223 } 223 }
243 243
244 if (to_send) { 244 if (to_send) {
245 sent = c->sent - sent; 245 sent = c->sent - sent;
246 c->write->delayed = 1; 246 c->write->delayed = 1;
247 ngx_add_timer(r->connection->write, 247 ngx_add_timer(r->connection->write,
248 (ngx_msec_t) (sent * 1000 / r->limit_rate)); 248 (ngx_msec_t) (sent * 1000 / r->limit_rate + 1));
249 } 249 }
250 250
251 for (cl = r->out; cl && cl != chain; /* void */) { 251 for (cl = r->out; cl && cl != chain; /* void */) {
252 ln = cl; 252 ln = cl;
253 cl = cl->next; 253 cl = cl->next;