Mercurial > hg > nginx-mail
comparison src/http/ngx_http_upstream.c @ 80:6ae11d59d10e NGINX_0_1_40
nginx 0.1.40
*) Bugfix: if a client sent too long header line, then the request
information did not logged in the error log.
*) Bugfix: the "Set-Cookie" header line was not transferred when the
"X-Accel-Redirect" was used; bug appeared in 0.1.39.
*) Bugfix: the "Content-Disposition" header line was not transferred
when the "X-Accel-Redirect" was used.
*) Bugfix: the master process did not close the listen socket on the
SIGQUIT signal.
*) Bugfix: after on-line upgrade on Linux and Solaris the process name
became shorter in the "ps" command.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Fri, 22 Jul 2005 00:00:00 +0400 |
parents | 9db7e0b5b27f |
children | 962c43960644 |
comparison
equal
deleted
inserted
replaced
79:b7cf468d0667 | 80:6ae11d59d10e |
---|---|
116 ngx_http_upstream_ignore_header_line, 0, | 116 ngx_http_upstream_ignore_header_line, 0, |
117 ngx_http_upstream_rewrite_refresh, 0, 0 }, | 117 ngx_http_upstream_rewrite_refresh, 0, 0 }, |
118 | 118 |
119 { ngx_string("Set-Cookie"), | 119 { ngx_string("Set-Cookie"), |
120 ngx_http_upstream_ignore_header_line, 0, | 120 ngx_http_upstream_ignore_header_line, 0, |
121 ngx_http_upstream_copy_header_line, 0, 0 }, | 121 ngx_http_upstream_copy_header_line, 0, 1 }, |
122 | |
123 { ngx_string("Content-Disposition"), | |
124 ngx_http_upstream_ignore_header_line, 0, | |
125 ngx_http_upstream_copy_header_line, 0, 1 }, | |
122 | 126 |
123 { ngx_string("Cache-Control"), | 127 { ngx_string("Cache-Control"), |
124 ngx_http_upstream_process_multi_header_lines, | 128 ngx_http_upstream_process_multi_header_lines, |
125 offsetof(ngx_http_upstream_headers_in_t, cache_control), | 129 offsetof(ngx_http_upstream_headers_in_t, cache_control), |
126 ngx_http_upstream_copy_multi_header_lines, | 130 ngx_http_upstream_copy_multi_header_lines, |
219 if (c->read->timer_set) { | 223 if (c->read->timer_set) { |
220 ngx_del_timer(c->read); | 224 ngx_del_timer(c->read); |
221 } | 225 } |
222 | 226 |
223 r->read_event_handler = ngx_http_upstream_rd_check_broken_connection; | 227 r->read_event_handler = ngx_http_upstream_rd_check_broken_connection; |
228 r->write_event_handler = ngx_http_upstream_wr_check_broken_connection; | |
224 | 229 |
225 if (ngx_event_flags & NGX_USE_CLEAR_EVENT) { | 230 if (ngx_event_flags & NGX_USE_CLEAR_EVENT) { |
226 | |
227 r->write_event_handler = ngx_http_upstream_wr_check_broken_connection; | |
228 | 231 |
229 if (!c->write->active) { | 232 if (!c->write->active) { |
230 if (ngx_add_event(c->write, NGX_WRITE_EVENT, | 233 if (ngx_add_event(c->write, NGX_WRITE_EVENT, NGX_CLEAR_EVENT) |
231 NGX_CLEAR_EVENT) == NGX_ERROR) | 234 == NGX_ERROR) |
232 { | 235 { |
233 ngx_http_finalize_request(r, NGX_HTTP_INTERNAL_SERVER_ERROR); | 236 ngx_http_finalize_request(r, NGX_HTTP_INTERNAL_SERVER_ERROR); |
234 return; | 237 return; |
235 } | 238 } |
236 } | 239 } |