… | |
… | |
1337 | # async::interrupt |
1337 | # async::interrupt |
1338 | |
1338 | |
1339 | $signal = Async::Interrupt::sig2num ($signal); |
1339 | $signal = Async::Interrupt::sig2num ($signal); |
1340 | $SIG_CB{$signal}{$arg{cb}} = $arg{cb}; |
1340 | $SIG_CB{$signal}{$arg{cb}} = $arg{cb}; |
1341 | |
1341 | |
1342 | $SIG_ASY{$signal} ||= do { |
1342 | $SIG_ASY{$signal} ||= new Async::Interrupt |
1343 | my $asy = new Async::Interrupt |
|
|
1344 | cb => sub { undef $SIG_EV{$signal} }, |
1343 | cb => sub { undef $SIG_EV{$signal} }, |
1345 | signal => $signal, |
1344 | signal => $signal, |
1346 | pipe => [$SIGPIPE_R->filenos], |
1345 | pipe => [$SIGPIPE_R->filenos], |
1347 | ; |
|
|
1348 | $asy->pipe_autodrain (0); |
1346 | pipe_autodrain => 0, |
1349 | |
|
|
1350 | $asy |
|
|
1351 | }; |
1347 | ; |
1352 | |
1348 | |
1353 | } else { |
1349 | } else { |
1354 | # pure perl |
1350 | # pure perl |
1355 | |
1351 | |
1356 | # AE::Util has been loaded in signal |
1352 | # AE::Util has been loaded in signal |