summaryrefslogtreecommitdiff
path: root/tests/install/trap
diff options
context:
space:
mode:
authorJim Meyering <jim@meyering.net>2005-09-28 18:33:11 +0000
committerJim Meyering <jim@meyering.net>2005-09-28 18:33:11 +0000
commitbfb5ed16a2d28fa8b39f4bfb46328a970e9d28e0 (patch)
tree9e16e553695ea70e6d3a7a50d30b26e3f0ba3f1a /tests/install/trap
parent3a14fbb06a38d35373b8c1d8b8a25308a60d596d (diff)
downloadcoreutils-bfb5ed16a2d28fa8b39f4bfb46328a970e9d28e0.tar.xz
Work around a bug in FreeBSD 5.0.
Diffstat (limited to 'tests/install/trap')
-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