Re: patch for ev_loop_destroy()
On Fri, May 11, 2012 at 06:40:06PM +0400, Denis Bilenko wrote: > It looks like there's a bug in ev_loop_destroy(): when called for a > non-default loop, it would stop the signal handler for SIGCHLD, even > though the latter belongs to the default loop. The patched below > should fix it. Well spotted, thanks a lot again - should be fixed in CVS. -- The choice of a Deliantra, the free code+content MORPG -==- _GNU_ http://www.deliantra.net ==-- _ generation ---==---(_)__ __ __ Marc Lehmann --==---/ / _ \/ // /\ \/ / schm...@schmorp.de -=/_/_//_/\_,_/ /_/\_\ ___ libev mailing list libev@lists.schmorp.de http://lists.schmorp.de/cgi-bin/mailman/listinfo/libev
patch for ev_loop_destroy()
It looks like there's a bug in ev_loop_destroy(): when called for a non-default loop, it would stop the signal handler for SIGCHLD, even though the latter belongs to the default loop. The patched below should fix it. --- /home/denis/work/libev-cvs/ev.c 2012-05-10 20:47:37.064383729 +0400 +++ libev/ev.c 2012-05-11 18:35:09.651798327 +0400 @@ -2356,7 +2356,7 @@ #endif #if EV_CHILD_ENABLE - if (ev_is_active (&childev)) + if (ev_default_loop_ptr == EV_A && ev_is_active (&childev)) { ev_ref (EV_A); /* child watcher */ ev_signal_stop (EV_A_ &childev); ___ libev mailing list libev@lists.schmorp.de http://lists.schmorp.de/cgi-bin/mailman/listinfo/libev