From owner-freebsd-bugs@FreeBSD.ORG Thu Mar 23 00:50:18 2006 Return-Path: X-Original-To: freebsd-bugs@hub.freebsd.org Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 89EB216A400 for ; Thu, 23 Mar 2006 00:50:18 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 553C243D49 for ; Thu, 23 Mar 2006 00:50:18 +0000 (GMT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.13.4/8.13.4) with ESMTP id k2N0oI0w048568 for ; Thu, 23 Mar 2006 00:50:18 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.13.4/8.13.4/Submit) id k2N0oHsN048567; Thu, 23 Mar 2006 00:50:17 GMT (envelope-from gnats) Date: Thu, 23 Mar 2006 00:50:17 GMT Message-Id: <200603230050.k2N0oHsN048567@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org From: Bruce Evans Cc: Subject: Re: kern/94772: FIFOs (named pipes) + select() == broken X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: Bruce Evans List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Mar 2006 00:50:18 -0000 The following reply was made to PR kern/94772; it has been noted by GNATS. From: Bruce Evans To: Oliver Fromme Cc: bug-followup@freebsd.org Subject: Re: kern/94772: FIFOs (named pipes) + select() == broken Date: Thu, 23 Mar 2006 11:47:36 +1100 (EST) On Wed, 22 Mar 2006, Oliver Fromme wrote: > Bruce Evans wrote: > > Here is a program that tests more cases. I made it give no output > > ... > > It does not produce any output on Solaris 9, NetBSD 3.0, > DEC UNIX 4.0D and Linux 2.4.32. (I had to replace signal() > with sigset() on Solaris, add a few missing #includes and > write small replacements for err() and warnx().) I thought that the signal() was portable. Under FreeBSD, of all things is the only missing include. I stopped trying to avoid using the err() family in test programs when Linux got them 6-8 years ago. > (By the way, DEC UNIX 4.0D _does_ have a bug: If the FIFO > has O_NONBLOCK set and no writer has opened the FIFO, then > select() doesn't block. That's a violation of SUSv3/POSIX. > However, that's not related to the bug described in this > PR, and it doesn't seem to be checked by the test program.) Will reply to later mail about this. > I would be happy to help out, but I'm not familiar with > that part of the kernel code. I wouldn't even know how > to start. Also, I don't have a spare box running Current > (I assume that such patches would have to go into Current > first). Or is the difference of that code between 6-Stable > and Current very small? I've been trying for about a month to get someone else to fix this for -current since I haven't run most of it for a long time. The diffs relative to -current would be small but still need testing. Bruce