panic: fold_constants JMPENV_PUSH returned 2 at /usr/share/perl5/File/Temp.pm line 1015.
panic: fold_constants JMPENV_PUSH returned 2 at /usr/share/perl5/File/Temp.pm line 1015.
panic: fold_constants JMPENV_PUSH returned 2 at /usr/share/perl5/File/Temp.pm line 1015.
####
panic: fold_constants JMPENV_PUSH returned 2 at /usr/local/share/perl/5.10.1/Net/HTTP/Methods.pm line 596.
####
panic: fold_constants JMPENV_PUSH returned 2 at /usr/local/share/perl/5.10.1/Net/HTTP/Methods.pm line 596.
panic: fold_constants JMPENV_PUSH returned 2 at /usr/local/share/perl/5.10.1/URI.pm line 132.
####
my $first_time = 1;
my @signals = qw/INT TERM USR2 HUP/;
for my $sig (@signals) {
$SIG{$sig} = sub {
if ($first_time) {
$first_time = 0;
exit(1); # we need exit, it will call all destructors which will destroy tempfiles
}
};
}
dump_error() unless (defined eval {do_work(); 1; });
$SIG{$_} = 'IGNORE' for (@signals); # THIS CAN BE REMOVED - RESULT IS SAME
kill(POSIX::SIGUSR1, $parent_pid); # THIS CAN BE REMOVED - RESULT IS SAME
exit(1);
####
my $first_time = 1;
for my $sig (qw/INT TERM CHLD USR1 HUP/) {
$SIG{$sig} = sub {
local ($!,$^E,$@);
if ($first_time) {
$first_time = 0;
kill (POSIX::SIGUSR2, keys %{$self->{children}});
print STDERR "EXIT on SIG$sig\n";
exit(1);
}
};
}
do_parent_work();