Mercurial > gnulib
changeset 33174:8dc4f611c381
init.sh: work around trap limitation of some shells
This limitation is already documented in the Autoconf manual.
* tests/init.sh (setup_): Move exit trap outside of shell function.
Signed-off-by: Eric Blake <eblake@redhat.com>
author | Peter O'Gorman <pogma@thewrittenword.com> |
---|---|
date | Thu, 29 Jul 2010 15:14:59 -0600 |
parents | b395acf07985 |
children | 04791dbb48de |
files | ChangeLog tests/init.sh |
diffstat | 2 files changed, 11 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog Thu Jul 29 08:43:00 2010 -0600 +++ b/ChangeLog Thu Jul 29 15:14:59 2010 -0600 @@ -1,3 +1,8 @@ +2010-07-29 Peter O'Gorman <pogma@thewrittenword.com> (tiny change) + + init.sh: work around trap limitation of some shells + * tests/init.sh (setup_): Move exit trap outside of shell function. + 2010-07-29 Eric Blake <eblake@redhat.com> strtod: aid debugging
--- a/tests/init.sh Thu Jul 29 08:43:00 2010 -0600 +++ b/tests/init.sh Thu Jul 29 15:14:59 2010 -0600 @@ -255,9 +255,9 @@ || fail_ "failed to create temporary directory in $initial_cwd_" cd "$test_dir_" - # These trap statements ensure that the temporary directory, $test_dir_, - # is removed upon exit as well as upon receipt of any of the listed signals. - trap remove_tmp_ 0 + # This trap statement, along with a trap on 0 below, ensure that the + # temporary directory, $test_dir_, is removed upon exit as well as + # upon receipt of any of the listed signals. for sig_ in 1 2 3 13 15; do eval "trap 'Exit $(expr $sig_ + 128)' $sig_" done @@ -385,3 +385,6 @@ && . "$srcdir/init.cfg" setup_ "$@" +# This trap is here, rather than in the setup_ function, because some +# shells run the exit trap at shell function exit, rather than script exit. +trap remove_tmp_ 0