diff src/event/modules/ngx_rtsig_module.c @ 323:ba876b26b76d

nginx-0.0.3-2004-04-21-22:54:33 import
author Igor Sysoev <igor@sysoev.ru>
date Wed, 21 Apr 2004 18:54:33 +0000
parents 56496082668b
children fb4dfb2ac0fc
line wrap: on
line diff
--- a/src/event/modules/ngx_rtsig_module.c
+++ b/src/event/modules/ngx_rtsig_module.c
@@ -221,15 +221,21 @@ int ngx_rtsig_process_events(ngx_cycle_t
     expire = 1;
 
     if (ngx_accept_mutex) {
-        if (ngx_trylock_accept_mutex(cycle) == NGX_ERROR) {
-            return NGX_ERROR;
-        }
+        if (ngx_accept_disabled > 0) {
+            ngx_accept_disabled--;
+
+        } else {
+            if (ngx_trylock_accept_mutex(cycle) == NGX_ERROR) {
+                return NGX_ERROR;
+            }
 
-        if (ngx_accept_mutex_held == 0
-            && (timer == NGX_TIMER_INFINITE || timer > ngx_accept_mutex_delay))
-        {
-            timer = ngx_accept_mutex_delay;
-            expire = 0;
+            if (ngx_accept_mutex_held == 0
+                && (timer == NGX_TIMER_INFINITE
+                    || timer > ngx_accept_mutex_delay))
+            {
+                timer = ngx_accept_mutex_delay;
+                expire = 0;
+            } 
         }
     }
 
@@ -299,7 +305,9 @@ int ngx_rtsig_process_events(ngx_cycle_t
                     c->read->event_handler(c->read);
 
                 } else if (c->read->accept) {
-                    c->read->event_handler(c->read);
+                    if (ngx_accept_disabled > 0) {
+                        c->read->event_handler(c->read);
+                    }
 
                 } else {
                     if (ngx_mutex_lock(ngx_posted_events_mutex) == NGX_ERROR) {
@@ -367,7 +375,6 @@ int ngx_rtsig_process_events(ngx_cycle_t
         return NGX_ERROR;
     }
 
-
     ngx_accept_mutex_unlock();
 
     if (expire && delta) {