Re: fifo change

Tim Wright (
Tue, 02 Apr 1996 15:00:53 PST

Please don't change it back. The SunOS behaviour was an aberration. Fifos
were first implemented in System III so I don't know what possessed Sun to
do it differently. As you say, Solaris and just about every other platform
also implements the new (or original) Linux behaviour.

Stevens APUE explains the "problem" of the last writer going away and mentions
that the server should open the fifo O_RDWR rather then O_RDONLY if it wants
to avoid getting EOFs.

The new behaviour is correct.



In message <Pine.LNX.3.91.960331185920.3613B-100000@linux.cs.Helsinki.FI>,Linus
Torvalds writes:
> However, I do like the new code better ("new" - it's actually the
> original linux behaviour, but I had to change it because too many SunOS
> people complained). And the new behaviour is also the same as Solaris etc
> SVR4 boxes, so any truly _portable_ program shouldn't break anyway.
> Of course, sysvinit isn't necessarily meant to be portable, and as such
> it's perfectly ok to depend on linux behavioural features.
> I don't like the SunOS (pre-81) behaviour, because some programs _want_
> to be able to know when the clients have gone away, and returning 1 for
> select when there are no writers is the "logically" correct thing to do
> anyway, when you look at what "read()" does.
> However, I don't feel strongly enough about this to not even consider
> changing it back: I could do that. I'm not 100% sure I want to, though,
> so I'd like some feedback from some more people. What do people think?
> Especailly people who actually _use_ named pipes..
> Linus

Tim Wright, Worldwide Technical Services,         |  Email:
Sequent Computer Systems Inc., 15450,             |
SW Koll Parkway, Beaverton, Oregon 97006          |  Phone: +1-503-578-3822
"Nobody ever said I was charming, they said "Rimmer, you're a git!"" RD VI