From owner-freebsd-current Fri Nov 12 7:14: 8 1999 Delivered-To: freebsd-current@freebsd.org Received: from mailman.zeta.org.au (mailman.zeta.org.au [203.26.10.16]) by hub.freebsd.org (Postfix) with ESMTP id 9C0A414E9C; Fri, 12 Nov 1999 07:13:47 -0800 (PST) (envelope-from bde@zeta.org.au) Received: from p61-ts5.syd2.zeta.org.au (beefcake.zeta.org.au [203.26.10.12]) by mailman.zeta.org.au (8.8.7/8.8.7) with ESMTP id CAA25866; Sat, 13 Nov 1999 02:20:01 +1100 Date: Sat, 13 Nov 1999 02:13:41 +1100 (EST) From: Bruce Evans X-Sender: bde@alphplex.bde.org To: cracauer@freebsd.org Cc: current@freebsd.org Subject: shell pipeline bug Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-current@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG `man sh' now hangs when the pager is exited. This is caused by the recent change to sh/eval.c Simplified example: sh -c "jot 6000 | cat | head" hangs. This example is almost minimal. The size of the data written by the first command must be large enough to not fit in the pipe; the middle command must be there, and the last command in the pipe must exit before reading all the data. The middle command should be killed by SIGPIPE when its output pipe is closed; this output pipe should be closed when the final command exits, but this is not happening because the shell is holding it open. Bruce To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-current" in the body of the message