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