Mercurial > hg > nginx-ranges
diff src/http/ngx_http_request.c @ 286:5bef04fc3fd5 NGINX_0_5_13
nginx 0.5.13
*) Feature: the COPY and MOVE methods.
*) Bugfix: the ngx_http_realip_module set garbage for requests passed
via keep-alive connection.
*) Bugfix: nginx did not work on big-endian 64-bit Linux.
Thanks to Andrei Nigmatulin.
*) Bugfix: now when IMAP/POP3 proxy receives too long command it closes
the connection right away, but not after timeout.
*) 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: nginx could not be built on platforms different from i386,
amd64, sparc and ppc; bug appeared in 0.5.8.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Mon, 19 Feb 2007 00:00:00 +0300 |
parents | 675a39fd14cd |
children | f745bf973510 |
line wrap: on
line diff
--- a/src/http/ngx_http_request.c +++ b/src/http/ngx_http_request.c @@ -1285,14 +1285,16 @@ ngx_http_process_request_header(ngx_http if (r->headers_in.connection) { if (r->headers_in.connection->value.len == 5 - && ngx_strcasecmp(r->headers_in.connection->value.data, "close") + && ngx_strcasecmp(r->headers_in.connection->value.data, + (u_char *) "close") == 0) { r->headers_in.connection_type = NGX_HTTP_CONNECTION_CLOSE; } else if (r->headers_in.connection->value.len == 10 && ngx_strcasecmp(r->headers_in.connection->value.data, - "keep-alive") == 0) + (u_char *) "keep-alive") + == 0) { r->headers_in.connection_type = NGX_HTTP_CONNECTION_KEEP_ALIVE; @@ -1651,6 +1653,7 @@ ngx_http_set_write_handler(ngx_http_requ r->http_state = NGX_HTTP_WRITING_REQUEST_STATE; + r->read_event_handler = ngx_http_block_read; r->write_event_handler = ngx_http_writer; wev = r->connection->write; @@ -1831,9 +1834,7 @@ closed: ngx_log_error(NGX_LOG_INFO, c->log, err, "client closed prematurely connection"); - ngx_http_close_request(r, 0); - - return; + ngx_http_finalize_request(r, 0); }