Le 5 janv. 05, � 17:50, Stas Bekman a �crit :
Eric Cholet wrote:Le 5 janv. 05, � 17:41, Eric Cholet a �crit :I forgot to mention that after those 2 seconds, I see this is the error log:Le 5 janv. 05, � 17:20, Stas Bekman a �crit :
As I've followed up, you didn't miss anything. As I'm not on your platform all I can suggest is to dig into the code, i.e.
t/response/TestPerl/signals.pm
Thanks, here's what I am seeing in that code:
if (!$static) { local $ENV{PERL_SIGNALS} = "unsafe";
eval { local $SIG{ALRM} = sub { die "alarm" }; alarm 2; run_for_5_sec(); alarm 0; }; ok t_cmp $@, qr/alarm/, "SIGALRM / unsafe %SIG"; }
run_for_5_sec() runs for about 2 seconds, and then nothing happens. In
the signal handler I replaced die with warn, but the warn doesn't happen.
[Wed Jan 05 17:36:54 2005] [notice] child pid 29676 exit signal Alarm clock (14)
That probably means that Apache installs its own sighandler or something like that? It certainly shows that a user can't use perl's ALRM on MaxOSX.
Please post a skip patch?
Sure, but maybe this is also dependent on the version of Perl I'm running,
MacOSX stock (5.8.1-RC3)
I'll try to find some time to install a recent Perl to test with.
Index: t/response/TestPerl/signals.pm =================================================================== --- t/response/TestPerl/signals.pm (revision 124104) +++ t/response/TestPerl/signals.pm (working copy) @@ -32,6 +32,10 @@
# doesn't work under static prefork
if (!$static) {
+ if ($^O eq 'darwin') {
+ skip "ALRM can't be used on darwin", 1;
+ }
+ else {
local $ENV{PERL_SIGNALS} = "unsafe"; eval {
@@ -41,6 +45,7 @@
alarm 0;
};
ok t_cmp $@, qr/alarm/, "SIGALRM / unsafe %SIG";
+ }
}# POSIX::sigaction doesn't work under 5.6.x
The POSIX works right?
Yes, all tests pass now.
-- Eric Cholet
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
