diff src/event/modules/ngx_kqueue_module.c @ 14:f8a0d0f31a24

nginx-0.0.1-2002-09-17-21:49:32 import
author Igor Sysoev <igor@sysoev.ru>
date Tue, 17 Sep 2002 17:49:32 +0000
parents 055ed05235ae
children 8dd06e2844f5
line wrap: on
line diff
--- a/src/event/modules/ngx_kqueue_module.c
+++ b/src/event/modules/ngx_kqueue_module.c
@@ -101,7 +101,7 @@ int ngx_kqueue_process_events(ngx_log_t 
 {
     int              events, i;
     u_int            timer = 0, delta = 0;
-    ngx_event_t      *ev, *nx;
+    ngx_event_t      *ev;
     struct timeval   tv;
     struct timespec  ts, *tp = NULL;
 
@@ -137,17 +137,17 @@ int ngx_kqueue_process_events(ngx_log_t 
 
     if (timer) {
         if (delta >= timer) {
-            for (ev = timer_queue.timer_next;
-                 ev != &timer_queue && delta >= ev->timer_delta;
-                 /* void */)
-            {
+            for ( ;; ) {
+                ev = timer_queue.timer_next;
+
+                if (ev == &timer_queue || delta < ev->timer_delta)
+                    break;
+
                 delta -= ev->timer_delta;
-                nx = ev->timer_next;
                 ngx_del_timer(ev);
                 ev->timedout = 1;
                 if (ev->event_handler(ev) == NGX_ERROR)
                     ev->close_handler(ev);
-                ev = nx;
             }
 
         } else {