]> git.llucax.com Git - software/libev.git/blobdiff - ev.c
fix stop function of idle/check/prepare/child
[software/libev.git] / ev.c
diff --git a/ev.c b/ev.c
index 266cbf8590bd928cb873993e6e00df66286cab9a..5aca9ec075bf9359501dd6cb2cf7645366049a8c 100644 (file)
--- a/ev.c
+++ b/ev.c
@@ -1480,7 +1480,7 @@ void
 ev_check_stop (EV_P_ struct ev_check *w)
 {
   ev_clear_pending (EV_A_ (W)w);
 ev_check_stop (EV_P_ struct ev_check *w)
 {
   ev_clear_pending (EV_A_ (W)w);
-  if (ev_is_active (w))
+  if (!ev_is_active (w))
     return;
 
   checks [((W)w)->active - 1] = checks [--checkcnt];
     return;
 
   checks [((W)w)->active - 1] = checks [--checkcnt];
@@ -1551,7 +1551,7 @@ void
 ev_child_stop (EV_P_ struct ev_child *w)
 {
   ev_clear_pending (EV_A_ (W)w);
 ev_child_stop (EV_P_ struct ev_child *w)
 {
   ev_clear_pending (EV_A_ (W)w);
-  if (ev_is_active (w))
+  if (!ev_is_active (w))
     return;
 
   wlist_del ((WL *)&childs [w->pid & (PID_HASHSIZE - 1)], (WL)w);
     return;
 
   wlist_del ((WL *)&childs [w->pid & (PID_HASHSIZE - 1)], (WL)w);