1199953Sjilles# $FreeBSD$ 2211408Sjillestrap ': $((brokenpipe+=1))' PIPE 3199953Sjilles 4199953SjillesP=${TMPDIR:-/tmp} 5199953Sjillescd $P 6199953SjillesT=$(mktemp -d sh-test.XXXXXX) 7199953Sjillescd $T 8199953Sjilles 9199953Sjillesbrokenpipe=0 10199953Sjillesmkfifo fifo1 fifo2 11199953Sjillesread dummy >fifo2 <fifo1 & 12199953Sjilles{ 13199953Sjilles exec 4>fifo2 14199953Sjilles} 3<fifo2 # Formerly, sh would keep fd 3 and a duplicate of it open. 15199953Sjillesecho dummy >fifo1 16199953Sjillesif [ $brokenpipe -ne 0 ]; then 17199953Sjilles rc=3 18199953Sjillesfi 19199953Sjilleswait 20211408Sjillesecho dummy >&4 2>/dev/null 21199953Sjillesif [ $brokenpipe -eq 1 ]; then 22199953Sjilles : ${rc:=0} 23199953Sjillesfi 24199953Sjilles 25199953Sjillesrm fifo1 fifo2 26199953Sjillesrmdir ${P}/${T} 27199953Sjillesexit ${rc:-3} 28