diff src/event/modules/ngx_epoll_module.c @ 315:39b6f2df45c0

nginx-0.0.3-2004-04-14-21:44:28 import
author Igor Sysoev <igor@sysoev.ru>
date Wed, 14 Apr 2004 17:44:28 +0000
parents 98f1a8028067
children a0beefedaf94
line wrap: on
line diff
--- a/src/event/modules/ngx_epoll_module.c
+++ b/src/event/modules/ngx_epoll_module.c
@@ -356,7 +356,11 @@ int ngx_epoll_process_events(ngx_cycle_t
     timer = ngx_event_find_timer();
     ngx_old_elapsed_msec = ngx_elapsed_msec;
 
-    if (timer == 0) {
+    if (timer == -1) {
+        timer = 0;
+        expire = 1;
+
+    } else if (timer == 0) {
         timer = (ngx_msec_t) -1;
         expire = 0;
 
@@ -369,7 +373,9 @@ int ngx_epoll_process_events(ngx_cycle_t
             return NGX_ERROR;
         }
 
-        if (ngx_accept_mutex_held == 0 && timer > ngx_accept_mutex_delay) {
+        if (ngx_accept_mutex_held == 0
+            && (timer == -1 || timer > ngx_accept_mutex_delay))
+        {
             timer = ngx_accept_mutex_delay;
             expire = 0;
         }