summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorroot <root>2007-11-14 04:53:21 +0000
committerroot <root>2007-11-14 04:53:21 +0000
commit3bf1eb4a5e1e1dabdc1b44665d2eb49cecd04593 (patch)
tree4edb21050a4b08bf572e78f4c00c08f62f1b4c32
parent81cf5185ab497ccd9b0655d5b1fbe4db569e5228 (diff)
*** empty log message ***
-rw-r--r--ev.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/ev.c b/ev.c
index 0b2340e..d04f786 100644
--- a/ev.c
+++ b/ev.c
@@ -1162,7 +1162,7 @@ ev_loop (EV_P_ int flags)
double block;
loop_done = flags & (EVLOOP_ONESHOT | EVLOOP_NONBLOCK) ? 1 : 0;
- do
+ while (activecnt)
{
/* queue check watchers (and execute them) */
if (expect_false (preparecnt))
@@ -1235,8 +1235,10 @@ ev_loop (EV_P_ int flags)
queue_events (EV_A_ (W *)checks, checkcnt, EV_CHECK);
call_pending (EV_A);
+
+ if (loop_done)
+ break;
}
- while (activecnt && !loop_done);
if (loop_done != 2)
loop_done = 0;