From 5aeeb2dc4687c38386f2440a56f29758a53b5551 Mon Sep 17 00:00:00 2001 From: Igor Sysoev Date: Tue, 4 May 2004 17:56:58 +0000 Subject: [PATCH] nginx-0.0.3-2004-05-04-21:56:58 import --- src/event/ngx_event.c | 3 ++- src/http/ngx_http_request.c | 1 + src/http/ngx_http_special_response.c | 14 ++++++++++---- 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/event/ngx_event.c b/src/event/ngx_event.c index 18fa6b6ef..87747c3eb 100644 --- a/src/event/ngx_event.c +++ b/src/event/ngx_event.c @@ -220,7 +220,8 @@ static ngx_int_t ngx_event_process_init(ngx_cycle_t *cycle) ccf = (ngx_core_conf_t *) ngx_get_conf(cycle->conf_ctx, ngx_core_module); ecf = ngx_event_get_conf(cycle->conf_ctx, ngx_event_core_module); - if (ccf->worker_processes > 1 && ecf->accept_mutex) { + if (ngx_accept_mutex_ptr && ccf->worker_processes > 1 && ecf->accept_mutex) + { ngx_accept_mutex = ngx_accept_mutex_ptr; ngx_accept_mutex_held = 1; ngx_accept_mutex_delay = ecf->accept_mutex_delay; diff --git a/src/http/ngx_http_request.c b/src/http/ngx_http_request.c index d5496e227..a8c4aeed2 100644 --- a/src/http/ngx_http_request.c +++ b/src/http/ngx_http_request.c @@ -871,6 +871,7 @@ static ngx_int_t ngx_http_process_request_header(ngx_http_request_t *r) { r->srv_conf = name[i].core_srv_conf->ctx->srv_conf; r->loc_conf = name[i].core_srv_conf->ctx->loc_conf; + r->server_name = &name[i].name; clcf = ngx_http_get_module_loc_conf(r, ngx_http_core_module); r->connection->log->file = clcf->err_log->file; diff --git a/src/http/ngx_http_special_response.c b/src/http/ngx_http_special_response.c index ba8796925..55f4bb3ac 100644 --- a/src/http/ngx_http_special_response.c +++ b/src/http/ngx_http_special_response.c @@ -240,8 +240,15 @@ int ngx_http_special_response_handler(ngx_http_request_t *r, int error) if (error_pages[err].len) { r->headers_out.content_length_n = error_pages[err].len - + sizeof(error_tail) - 1 - + sizeof(msie_stub) - 1; + + sizeof(error_tail) - 1; + + if (clcf->msie_padding + && r->http_version >= NGX_HTTP_VERSION_10 + && error >= NGX_HTTP_BAD_REQUEST + && error != NGX_HTTP_REQUEST_URI_TOO_LARGE) + { + r->headers_out.content_length_n += sizeof(msie_stub) - 1; + } if (!(r->headers_out.content_type = ngx_http_add_header(&r->headers_out, ngx_http_headers_out))) @@ -300,8 +307,7 @@ int ngx_http_special_response_handler(ngx_http_request_t *r, int error) if (clcf->msie_padding && r->http_version >= NGX_HTTP_VERSION_10 && error >= NGX_HTTP_BAD_REQUEST - && error != NGX_HTTP_REQUEST_URI_TOO_LARGE - ) + && error != NGX_HTTP_REQUEST_URI_TOO_LARGE) { if (!(h = ngx_calloc_hunk(r->pool))) { return NGX_ERROR;