ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/AnyEvent/lib/AnyEvent.pm
(Generate patch)

Comparing AnyEvent/lib/AnyEvent.pm (file contents):
Revision 1.263 by root, Wed Jul 29 12:39:21 2009 UTC vs.
Revision 1.264 by root, Wed Jul 29 12:42:09 2009 UTC

1334sub _sig_del { 1334sub _sig_del {
1335 undef $SIG_TW 1335 undef $SIG_TW
1336 unless --$SIG_COUNT; 1336 unless --$SIG_COUNT;
1337} 1337}
1338 1338
1339our %SIGNAME2NUM;
1340our @SIGNUM2NAME;
1341our $_sig_name_init; $_sig_name_init = sub { 1339our $_sig_name_init; $_sig_name_init = sub {
1342 undef $_sig_name_init; 1340 undef $_sig_name_init;
1343 1341
1344 if (_have_async_interrupt) { 1342 if (_have_async_interrupt) {
1345 *sig2num = \&Async::Interrupt::sig2num; 1343 *sig2num = \&Async::Interrupt::sig2num;
1346 *sig2name = \&Async::Interrupt::sig2name; 1344 *sig2name = \&Async::Interrupt::sig2name;
1347 } else { 1345 } else {
1348 require Config; 1346 require Config;
1349 1347
1348 my %signame2num;
1350 @SIGNAME2NUM{ split ' ', $Config::Config{sig_name} } 1349 @signame2num{ split ' ', $Config::Config{sig_name} }
1351 = split ' ', $Config::Config{sig_num}; 1350 = split ' ', $Config::Config{sig_num};
1352 @SIGNUM2NAME[values %SIGNAME2NUM] = keys %SIGNAME2NUM; 1351
1352 my @signum2name;
1353 @signum2name[values %signame2num] = keys %signame2num;
1353 1354
1354 *sig2num = sub($) { 1355 *sig2num = sub($) {
1355 $_[0] > 0 ? shift : $SIGNAME2NUM{+shift} 1356 $_[0] > 0 ? shift : $signame2num{+shift}
1356 }; 1357 };
1357 *sig2name = sub ($) { 1358 *sig2name = sub ($) {
1358 $_[0] > 0 ? $SIGNUM2NAME[+shift] : shift 1359 $_[0] > 0 ? $signum2name[+shift] : shift
1359 }; 1360 };
1360 } 1361 }
1361}; 1362};
1362 1363
1363sub sig2num ($) { &$_sig_name_init; &sig2num } 1364sub sig2num ($) { &$_sig_name_init; &sig2num }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines