On Thu, Jun 04, 2009 at 11:06:43AM +0100, Nicholas Clark wrote: > On Thu, Jun 04, 2009 at 09:14:35AM +0200, H.Merijn Brand wrote: > > > TSTENV = stdio No saved state, selection will be empty > > # Failed at op/magic.t line 499 > > # got 'IGNORE' > > # expected undef > > # Failed at op/magic.t line 500 > > # got 'IGNORE' > > # expected undef > > > > ../t/op/magic.t.............................................FAILED 76-77 > > > > Manual runs fare well > > But smoke runs are in an environment with an inherited handler for SIGPIPE?
These are the lines that fail: > # Test deleting signals that we never set > foreach my $sig (qw(__DIE__ _BOGUS_HOOK PIPE THIRSTY)) { > is $SIG{$sig}, undef, "$sig is not present"; > is delete $SIG{$sig}, undef, "delete of $sig returns undef"; > } I'm guessing that if you compile the appended program and run it under cron, it will output "Was ignore", rather than "Was default" Nicholas Clark #include <signal.h> #include <stdio.h> typedef void (*sighandler_t)(int); int main () { sighandler_t was = signal(SIGPIPE, SIG_DFL); if (was == SIG_DFL) { puts("Was default"); } else if (was == SIG_IGN) { puts("Was ignore"); } else { puts("Was a real handler"); } return 0; }