diff options
-rwxr-xr-x | tests/install/trap | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/tests/install/trap b/tests/install/trap index e95eb8f1c..7bb09ae83 100755 --- a/tests/install/trap +++ b/tests/install/trap @@ -23,10 +23,13 @@ fi fail=0 -# ash doesn't support "trap '' CHLD"; it knows only signal numbers. -sig=`$pwd/../../src/kill -l CHLD 2>/dev/null` && trap '' $sig - -# Before 2004-04-21, install would infloop, in the `while (wait...' loop: -ginstall -s $pwd/../../src/ginstall$EXEEXT . +# Use a subshell and an exec to work around a bug in FreeBSD 5.0 /bin/sh. +( + # ash doesn't support "trap '' CHLD"; it knows only signal numbers. + sig=`$pwd/../../src/kill -l CHLD 2>/dev/null` && trap '' $sig + + # Before 2004-04-21, install would infloop, in the `while (wait...' loop: + exec ginstall -s $pwd/../../src/ginstall$EXEEXT . +) (exit $fail); exit $fail |