Re: Linux-1.3.81

Miquel van Smoorenburg (miquels@q.cistron.nl)
1 Apr 1996 17:48:53 +0200


In article <Pine.LNX.3.91.960331185920.3613B-100000@linux.cs.Helsinki.FI>,
Linus Torvalds <torvalds@cs.Helsinki.FI> wrote:
>
>Restoring the old behaviour is simple: there is a BROKEN_SUNOS_FIFO
>define (or something close to that) in fs/pipe.c, and defininf that will
>use the old code.
>
>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.

I just though of something else:

Say a server (init) is listening on /dev/initfifo. A request comes in,
init processes it, read()s or select()s again, sees EOF, closes the
pipe, re-opens it.

What if a request comes in between the time that EOF is seen and the
pipe is closed? It is lost. That is _not_ good. One of the reasons
select() should have the SunOS behaviour instead of the sysv behaviour.

Mike.

-- 
  Miquel van    | Cistron Internet Services   --    Alphen aan den Rijn.
  Smoorenburg,  | mailto:info@cistron.nl          http://www.cistron.nl/
miquels@het.net | Tel: +31-172-419445 (Voice) 430979 (Fax) 442580 (Data)