trap ': $((brokenpipe+=1))' PIPE P=${TMPDIR:-/tmp} cd $P T=$(mktemp -d sh-test.XXXXXX) cd $T brokenpipe=0 mkfifo fifo1 fifo2 { { exec ${SH} -c 'exec fifo2 exec 3>fifo1 echo dummy >&4 2>/dev/null if [ $brokenpipe -eq 1 ]; then : ${rc:=0} fi echo dummy >&3 wait rm fifo1 fifo2 rmdir ${P}/${T} exit ${rc:-3}