changeset 331:f168a88e93f7

nginx-0.0.3-2004-05-04-21:56:58 import
author Igor Sysoev <igor@sysoev.ru>
date Tue, 04 May 2004 17:56:58 +0000
parents 377a955421dc
children 159dd60d257a
files src/event/ngx_event.c src/http/ngx_http_request.c src/http/ngx_http_special_response.c
diffstat 3 files changed, 13 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/src/event/ngx_event.c
+++ b/src/event/ngx_event.c
@@ -220,7 +220,8 @@ static ngx_int_t ngx_event_process_init(
     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;
--- 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_reques
             {
                 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;
--- 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(ng
 
     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(ng
     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;