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