1*3e3895bfSKrzysztof Piecuch# $FreeBSD: head/bin/sh/tests/execution/redir2.0 213738 2010-10-12 18:20:38Z obrien $
23df4d8b0SPeter Avalostrap ': $((brokenpipe+=1))' PIPE
33df4d8b0SPeter Avalos
43df4d8b0SPeter AvalosP=${TMPDIR:-/tmp}
53df4d8b0SPeter Avaloscd $P
63df4d8b0SPeter AvalosT=$(mktemp -d sh-test.XXXXXX)
73df4d8b0SPeter Avaloscd $T
83df4d8b0SPeter Avalos
93df4d8b0SPeter Avalosbrokenpipe=0
103df4d8b0SPeter Avalosmkfifo fifo1 fifo2
113df4d8b0SPeter Avalos{
123df4d8b0SPeter Avalos	{
133df4d8b0SPeter Avalos		exec ${SH} -c 'exec <fifo1; read dummy'
143df4d8b0SPeter Avalos	} 7<&- # fifo2 should be kept open, but not passed to programs
153df4d8b0SPeter Avalos	true
163df4d8b0SPeter Avalos} 7<fifo2 &
173df4d8b0SPeter Avalos
183df4d8b0SPeter Avalosexec 4>fifo2
193df4d8b0SPeter Avalosexec 3>fifo1
203df4d8b0SPeter Avalosecho dummy >&4 2>/dev/null
213df4d8b0SPeter Avalosif [ $brokenpipe -eq 1 ]; then
223df4d8b0SPeter Avalos	: ${rc:=0}
233df4d8b0SPeter Avalosfi
243df4d8b0SPeter Avalosecho dummy >&3
253df4d8b0SPeter Avaloswait
263df4d8b0SPeter Avalos
273df4d8b0SPeter Avalosrm fifo1 fifo2
283df4d8b0SPeter Avalosrmdir ${P}/${T}
293df4d8b0SPeter Avalosexit ${rc:-3}
30