Mercurial > hg > octave-lojdl > gnulib-hg
changeset 13282:20adf2052520
init.sh: ensure a more reliable exit status when exiting via trap
* tests/init.sh (setup_): Don't rely on $? in signal handler.
Inspired by patches from Dmitry V. Levin.
Also trap on signal 3 (SIGQUIT).
author | Jim Meyering <meyering@redhat.com> |
---|---|
date | Wed, 28 Apr 2010 09:51:15 +0200 |
parents | 2304ea739169 |
children | 7346ad38d6ae |
files | ChangeLog tests/init.sh |
diffstat | 2 files changed, 12 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2010-04-28 Jim Meyering <meyering@redhat.com> + + init.sh: ensure a more reliable exit status when exiting via trap + * tests/init.sh (setup_): Don't rely on $? in signal handler. + Inspired by patches from Dmitry V. Levin. + Also trap on signal 3 (SIGQUIT). + 2010-04-27 Bruno Haible <bruno@clisp.org> Update doc about utimes().
--- a/tests/init.sh +++ b/tests/init.sh @@ -225,10 +225,12 @@ || fail_ "failed to create temporary directory in $initial_cwd_" cd "$test_dir_" - # This pair of trap statements ensures that the temporary directory, - # $test_dir_, is removed upon exit as well as upon catchable signal. + # 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 - trap 'Exit $?' 1 2 13 15 + for sig_ in 1 2 3 13 15; do + eval "trap 'Exit $(expr $sig_ + 128)' $sig_" + done } # Create a temporary directory, much like mktemp -d does.