* aclocal.in (unlink_tmp): If invoked by a signal, note so
in verbose mode. Reinstall default signal handler and reraise,
to transport the interrupt information.
+2007-11-18 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ Fix signal handling in aclocal.
+ * aclocal.in (unlink_tmp): If invoked by a signal, note so
+ in verbose mode. Reinstall default signal handler and reraise,
+ to transport the interrupt information.
+
2007-11-13 Bob Proulx <bob@proulx.com>
Fix color test failure on dumb (and other) terminals.
\f
################################################################
-# Erase temporary file ERASE_ME.
+# Erase temporary file ERASE_ME. Handle signals.
sub unlink_tmp
{
+ my ($sig) = @_;
+
+ if ($sig)
+ {
+ verb "caught SIG$sig, bailing out";
+ }
if (defined $erase_me && -e $erase_me && !unlink ($erase_me))
{
fatal "could not remove `$erase_me': $!";
}
undef $erase_me;
+
+ # reraise default handler.
+ if ($sig)
+ {
+ $SIG{$sig} = 'DEFAULT';
+ kill $sig => $$;
+ }
}
$SIG{'INT'} = $SIG{'TERM'} = $SIG{'QUIT'} = $SIG{'HUP'} = 'unlink_tmp';