--- libev/ev.c 2007/11/11 04:02:54 1.100 +++ libev/ev.c 2007/11/11 04:04:23 1.101 @@ -1441,7 +1441,7 @@ ev_idle_stop (EV_P_ struct ev_idle *w) { ev_clear_pending (EV_A_ (W)w); - if (ev_is_active (w)) + if (!ev_is_active (w)) return; idles [((W)w)->active - 1] = idles [--idlecnt];