--- AnyEvent/lib/AnyEvent.pm 2009/03/26 15:51:44 1.197 +++ AnyEvent/lib/AnyEvent.pm 2009/03/26 20:17:44 1.198 @@ -1052,8 +1052,9 @@ our ($SIGPIPE_R, $SIGPIPE_W, %SIG_CB, %SIG_EV, $SIG_IO); sub _signal_exec { + sysread $SIGPIPE_R, my $dummy, 4; + while (%SIG_EV) { - sysread $SIGPIPE_R, my $dummy, 4; for (keys %SIG_EV) { delete $SIG_EV{$_}; $_->() for values %{ $SIG_CB{$_} || {} };