summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xtests/install/trap13
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