]> git.llucax.com Git - software/libev.git/commitdiff
*** empty log message ***
authorroot <root>
Sat, 1 Dec 2007 19:48:36 +0000 (19:48 +0000)
committerroot <root>
Sat, 1 Dec 2007 19:48:36 +0000 (19:48 +0000)
ev.c

diff --git a/ev.c b/ev.c
index 35180023c603d60532c1f2008223a822a8ecdc47..208480582033d76b2952e4bc160454d076e0093d 100644 (file)
--- a/ev.c
+++ b/ev.c
@@ -1344,7 +1344,7 @@ ev_loop (EV_P_ int flags)
 
   call_pending (EV_A); /* in case we recurse, ensure ordering stays nice and clean */
 
-  while (activecnt)
+  for (;;)
     {
 #ifndef _WIN32
       if (expect_false (curpid)) /* penalise the forking check even more */
@@ -1372,6 +1372,9 @@ ev_loop (EV_P_ int flags)
           call_pending (EV_A);
         }
 
+      if (expect_false (!activecnt))
+        break;
+
       /* we might have forked, so reify kernel state if necessary */
       if (expect_false (postfork))
         loop_fork (EV_A);