sh: Do not assume that SIGPIPE will only kill a subshell in builtins/wait3.0

test.

POSIX says that SIGPIPE affects a process and therefore a SIGPIPE caused and
received by a subshell environment may or may not affect the parent shell
environment.

The change assumes that ${SH} is executed in a new process. This must be the
case if it contains a slash and everyone appears to do so anyway even though
POSIX might permit otherwise.

This change makes builtins/wait3.0 work in ksh93.
This commit is contained in:
Jilles Tjoelker 2012-06-08 22:54:25 +00:00
parent 8403b19372
commit b347830a7d

View File

@ -15,7 +15,7 @@ for i in 1 2 3 4 5 6 7 8 9 10; do
done
exec 3>fifo1
wait || failure $LINENO
(echo >&3) 2>/dev/null && failure $LINENO
(${SH} -c echo >&3) 2>/dev/null && failure $LINENO
wait || failure $LINENO
test -z "$failures"