Work around a bug in FreeBSD 5.0.
authorJim Meyering <jim@meyering.net>
Wed, 28 Sep 2005 18:33:11 +0000 (18:33 +0000)
committerJim Meyering <jim@meyering.net>
Wed, 28 Sep 2005 18:33:11 +0000 (18:33 +0000)
tests/install/trap

index e95eb8f..7bb09ae 100755 (executable)
@@ -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