Mercurial > hg > nginx-vendor-0-8
diff src/http/ngx_http_upstream.c @ 276:c5c2b2883984 NGINX_0_5_8
nginx 0.5.8
*) Bugfix: a segmentation fault might occur if
"client_body_in_file_only on" was used and a request body was small.
*) Bugfix: a segmentation fault occurred if
"client_body_in_file_only on" and "proxy_pass_request_body off" or
"fastcgi_pass_request_body off" directives were used, and nginx
switched to a next upstream.
*) Bugfix: if the "proxy_buffering off" directive was used and a client
connection was non-active, then the connection was closed after send
timeout; bug appeared in 0.4.7.
*) Bugfix: if the "epoll" method was used and a client closed a
connection prematurely, then nginx closed the connection after a
send timeout only.
*) Bugfix: the "[alert] zero size buf" error when FastCGI server was
used.
*) Bugfixes in the "limit_zone" directive.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Fri, 19 Jan 2007 00:00:00 +0300 |
parents | 052a7b1d40e5 |
children | 3dbecd747fbb |
line wrap: on
line diff
--- a/src/http/ngx_http_upstream.c +++ b/src/http/ngx_http_upstream.c @@ -569,8 +569,11 @@ ngx_http_upstream_connect(ngx_http_reque } } - if (r->request_body && r->request_body->temp_file && r == r->main) { - + if (r->request_body + && r->request_body->buf + && r->request_body->temp_file + && r == r->main) + { /* * the r->request_body->buf can be reused for one request only, * the subrequests should allocate their own temporay bufs @@ -1700,7 +1703,7 @@ ngx_http_upstream_process_non_buffered_b } } - if (downstream->write->active) { + if (downstream->write->active && !downstream->write->ready) { ngx_add_timer(downstream->write, clcf->send_timeout); } else if (downstream->write->timer_set) { @@ -1712,7 +1715,7 @@ ngx_http_upstream_process_non_buffered_b return; } - if (upstream->read->active) { + if (upstream->read->active && !upstream->read->ready) { ngx_add_timer(upstream->read, u->conf->read_timeout); } else if (upstream->read->timer_set) {