This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "GNU Automake".

http://git.sv.gnu.org/gitweb/?p=automake.git;a=commitdiff;h=37a90f4282695a847a0ad1fbc03db906b2e21d5a

The branch, master has been updated
       via  37a90f4282695a847a0ad1fbc03db906b2e21d5a (commit)
      from  d826333beefa170835b20612332be837624f72c1 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commit 37a90f4282695a847a0ad1fbc03db906b2e21d5a
Author: Ralf Wildenhues <[EMAIL PROTECTED]>
Date:   Sun Nov 18 15:30:01 2007 +0100

    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.

-----------------------------------------------------------------------

Summary of changes:
 ChangeLog  |    7 +++++++
 aclocal.in |   15 ++++++++++++++-
 2 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index c80196c..c4ef88d 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-11-18  Ralf Wildenhues  <[EMAIL PROTECTED]>
+
+       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  <[EMAIL PROTECTED]>
 
        Fix color test failure on dumb (and other) terminals.
diff --git a/aclocal.in b/aclocal.in
index eac545f..195ef81 100644
--- a/aclocal.in
+++ b/aclocal.in
@@ -150,14 +150,27 @@ my $erase_me;
 
 ################################################################
 
-# 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';


hooks/post-receive
--
GNU Automake


Reply via email to