summaryrefslogtreecommitdiff
path: root/ev.c
diff options
context:
space:
mode:
Diffstat (limited to 'ev.c')
-rw-r--r--ev.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/ev.c b/ev.c
index 2084805..221da59 100644
--- 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 */
- for (;;)
+ while (expect_false (!activecnt))
{
#ifndef _WIN32
if (expect_false (curpid)) /* penalise the forking check even more */
@@ -1386,7 +1386,7 @@ ev_loop (EV_P_ int flags)
{
ev_tstamp block;
- if (flags & EVLOOP_NONBLOCK || idlecnt)
+ if (expect_false (flags & EVLOOP_NONBLOCK || idlecnt || !activecnt))
block = 0.; /* do not block at all */
else
{