Summary: | Не отрабатывает alarm из Time::HiRes | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Andriy Stepanov (stanv) <stanv> |
Component: | perl-base | Assignee: | at <at> |
Status: | CLOSED FIXED | QA Contact: | qa-sisyphus |
Severity: | major | ||
Priority: | P3 | CC: | at, crux, ldv, mike, php-coder, rider, viy |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux |
Description
Andriy Stepanov (stanv)
2009-11-09 16:44:53 MSK
#!/usr/bin/perl -w use Time::HiRes qw(alarm ualarm); $SIG{ALRM} = sub {die "alarm"}; alarm(1); #ualarm(1000000); my ($i,$j); for ($i=0; $i<100000000; $i++) { $j+=$i^2; } Подтверждает что где-то ошибка, т.е. sleep в этом тестике роли не играет. > strace -e setitimer perl -MTime::HiRes=ualarm -e 'ualarm 2; sleep 4' setitimer(ITIMER_REAL, {it_interval={0, 0}, it_value={0, 2}}, {it_interval={0, 0}, it_value={0, 0}}) = 0 --- SIGALRM (Alarm clock) @ 0 (0) --- +++ killed by SIGALRM +++ zsh: alarm strace -e setitimer perl -MTime::HiRes=ualarm -e 'ualarm 2; sleep 4' в случае alarm тишина: > strace -e setitimer perl -MTime::HiRes=alarm -e 'alarm 2; sleep 4' > ping ping Что с этой ошибкой ? Почитав полиси, предложил nmu усталый майнтейнер. $ rpmquery perl-base perl-base-5.12.2-alt00 $ strace -e setitimer perl -MTime::HiRes=alarm -e 'alarm 2; sleep 4' setitimer(ITIMER_REAL, {it_interval={0, 0}, it_value={2, 0}}, NULL) = 0 --- SIGALRM (Alarm clock) @ 0 (0) --- +++ killed by SIGALRM +++ |