--- libev/ev.c 2011/06/27 19:20:01 1.380 +++ libev/ev.c 2011/06/27 21:29:35 1.381 @@ -1522,7 +1522,8 @@ return; #endif - evpipe_init (EV_A); + if (!ev_active (&pipe_w)) + return; signals [signum - 1].pending = 1; evpipe_write (EV_A_ &sig_pending);