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 }