Date: Thu, 23 Mar 2006 00:50:17 GMT From: Bruce Evans <bde@zeta.org.au> To: freebsd-bugs@FreeBSD.org Subject: Re: kern/94772: FIFOs (named pipes) + select() == broken Message-ID: <200603230050.k2N0oHsN048567@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/94772; it has been noted by GNATS. From: Bruce Evans <bde@zeta.org.au> To: Oliver Fromme <olli@lurza.secnetix.de> 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, <stdlib.h> 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200603230050.k2N0oHsN048567>