]> git.llucax.com Git - software/libev.git/commitdiff
braino
authorroot <root>
Sat, 1 Dec 2007 23:43:45 +0000 (23:43 +0000)
committerroot <root>
Sat, 1 Dec 2007 23:43:45 +0000 (23:43 +0000)
ev.c

diff --git a/ev.c b/ev.c
index 221da5941112d05de049c26c62740004e32c158a..9f7e2bedbf643e053c7177683601f3c40e83d4fd 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 */
 
 
   call_pending (EV_A); /* in case we recurse, ensure ordering stays nice and clean */
 
-  while (expect_false (!activecnt))
+  do
     {
 #ifndef _WIN32
       if (expect_false (curpid)) /* penalise the forking check even more */
     {
 #ifndef _WIN32
       if (expect_false (curpid)) /* penalise the forking check even more */
@@ -1442,9 +1442,8 @@ ev_loop (EV_P_ int flags)
 
       call_pending (EV_A);
 
 
       call_pending (EV_A);
 
-      if (expect_false (loop_done))
-        break;
     }
     }
+  while (expect_true (activecnt && !loop_done));
 
   if (loop_done == EVUNLOOP_ONE)
     loop_done = EVUNLOOP_CANCEL;
 
   if (loop_done == EVUNLOOP_ONE)
     loop_done = EVUNLOOP_CANCEL;