Date: Thu, 25 Oct 2001 18:14:45 -0400 (EDT) From: Robert Watson <rwatson@FreeBSD.org> To: Alfred Perlstein <bright@mu.org> Cc: arch@FreeBSD.org Subject: Re: Behavior of select() on pipes Message-ID: <Pine.NEB.3.96L.1011025181348.76017A-100000@fledge.watson.org> In-Reply-To: <20011025161200.N15052@elvis.mu.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, 25 Oct 2001, Alfred Perlstein wrote: > * Robert Watson <rwatson@FreeBSD.org> [011025 14:56] wrote: > > > > Alfred recently pointed me at some FreeBSD pipe behavior that I was > > previously unaware of: select() will always return true regarding the > > readability of a fifo, regardless of whether data is pending on the fifo. > > He referred to this as "brokenness", which is a diagnosis I tend to > > accept. However, it turns out to be somewhat more complicated than I > > thought, witnessed by the extensive discussion on freebsd-bugs, and logged > > in PR/19871. But to the short of it: it sounds to me like we should > > modify the behavior of select() to match the more popular (but possibly > > standards-incompliant) behavior, which allows select to block on the fifo > > until data is ready (found in Solaris, Linux, et al). Rather than just > > commit the patch, I thought I'd open myself up for broad flamage. > > Comments on what to do are welcome. > > If the patch safely brings us into compatibility with both Linux and > Solaris it's a no-brainer, just put it in, however if it puts FreeBSD > into some other 'mode' I think it deserves further discussion. My understanding, from my reading of the PR, is that it does so. However, I'm not familiar with the sections of the standards describing fifos, and was hoping for input from those that would. Robert N M Watson FreeBSD Core Team, TrustedBSD Project robert@fledge.watson.org NAI Labs, Safeport Network Services To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.96L.1011025181348.76017A-100000>