autoconf-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

do not invoke 'trap ... 0' inside a function


From: Ralf Wildenhues
Subject: do not invoke 'trap ... 0' inside a function
Date: Fri, 27 Oct 2006 17:59:40 +0200
User-agent: Mutt/1.5.13 (2006-10-09)

OK to apply?  Here's a test for this, plus output on AIX 5.3:

cat >trap.sh <<\EOF
#! /bin/sh
func_trap ()
{
  trap 'echo trap that was installed in func_trap' 0
  echo in func_trap
}
echo main
func_trap
echo main after func_trap
EOF
sh trap.sh
| main
| in func_trap
| trap that was installed in func_trap
| main after func_trap

Cheers,
Ralf

2006-10-27  Ralf Wildenhues  <address@hidden>

        * doc/autoconf.texi (Limitations of Builtins): Do not invoke
        `trap ... 0' inside a function, for AIX sh.

Index: doc/autoconf.texi
===================================================================
RCS file: /cvsroot/autoconf/autoconf/doc/autoconf.texi,v
retrieving revision 1.1101
diff -u -r1.1101 autoconf.texi
--- doc/autoconf.texi   25 Oct 2006 20:21:05 -0000      1.1101
+++ doc/autoconf.texi   27 Oct 2006 15:52:20 -0000
@@ -12801,7 +12801,9 @@
 @prindex @command{trap}
 It is safe to trap at least the signals 1, 2, 13, and 15.  You can also
 trap 0, i.e., have the @command{trap} run when the script ends (either via an
-explicit @command{exit}, or the end of the script).
+explicit @command{exit}, or the end of the script).  The trap for 0 should be
+installed outside of a shell function, or @acronym{AIX} 5.3 @command{/bin/sh}
+will invoke the trap at the end of this function.
 
 Posix says that @samp{trap - 1 2 13 15} resets the traps for the
 specified signals to their default values, but many common shells (e.g.,




reply via email to

[Prev in Thread] Current Thread [Next in Thread]