changeset 345:fade4edd61f8

nginx-0.0.3-2004-06-04-18:57:33 import
author Igor Sysoev <igor@sysoev.ru>
date Fri, 04 Jun 2004 14:57:33 +0000
parents e366ba5db8f8
children 55e496a8ece3
files auto/cc src/event/ngx_event.c src/os/unix/ngx_process_cycle.c
diffstat 3 files changed, 19 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/auto/cc
+++ b/auto/cc
@@ -4,7 +4,8 @@ CFLAGS="$CFLAGS $CC_OPT"
 case $CC in
 
     *gcc*)
-         # gcc 2.7.2.3, 2.8.1, 2.95.4, 3.3.2, 3.3.3, 3.4
+         # gcc 2.7.2.3, 2.8.1, 2.95.4,
+         #     3.2.3, 3.3.2, 3.3.3, 3.3.4, 3.4
 
          # optimization
          #CFLAGS="$CFLAGS -O2 -fomit-frame-pointer"
@@ -89,7 +90,7 @@ case $CC in
 
 
     *icc)
-         # Intel C++ compiler 7.1
+         # Intel C++ compiler 7.1, 8.0
 
          # optimization
          CFLAGS="$CFLAGS -O"
@@ -241,7 +242,7 @@ case $CC in
 
 
     wcl386)
-         # Open Watcom C 1.0
+         # Open Watcom C 1.0, 1.2
 
          # optimization
 
--- a/src/event/ngx_event.c
+++ b/src/event/ngx_event.c
@@ -223,7 +223,7 @@ static ngx_int_t ngx_event_process_init(
     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_held = 0;
         ngx_accept_mutex_delay = ecf->accept_mutex_delay;
     }
 
@@ -371,15 +371,13 @@ static ngx_int_t ngx_event_process_init(
 
         rev->event_handler = &ngx_event_accept;
 
-        if (ngx_event_flags & NGX_USE_SIGIO_EVENT) {
-
-            if (ngx_accept_mutex) {
-                ngx_accept_mutex_held = 0;
+        if (ngx_accept_mutex) {
+            continue;
+        }
 
-            } else {
-                if (ngx_add_conn(c) == NGX_ERROR) {
-                    return NGX_ERROR;
-                }
+        if (ngx_event_flags & NGX_USE_SIGIO_EVENT) {
+            if (ngx_add_conn(c) == NGX_ERROR) {
+                return NGX_ERROR;
             }
 
         } else {
--- a/src/os/unix/ngx_process_cycle.c
+++ b/src/os/unix/ngx_process_cycle.c
@@ -514,7 +514,10 @@ static void ngx_worker_process_cycle(ngx
             && ngx_event_timer_rbtree == &ngx_event_timer_sentinel)
         {
             ngx_log_error(NGX_LOG_INFO, cycle->log, 0, "exiting");
-            ngx_destroy_pool(cycle->pool);
+            /*
+             * we do not destroy cycle->pool here because a signal handler
+             * that uses cycle->log can be called at this point
+             */
             exit(0);
         }
 
@@ -524,7 +527,10 @@ static void ngx_worker_process_cycle(ngx
 
         if (ngx_terminate) {
             ngx_log_error(NGX_LOG_INFO, cycle->log, 0, "exiting");
-            ngx_destroy_pool(cycle->pool);
+            /*
+             * we do not destroy cycle->pool here because a signal handler
+             * that uses cycle->log can be called at this point
+             */
             exit(0);
         }