Messages in this thread | | | From | (Miquel van Smoorenburg) | Subject | Re: Linux-1.3.81 | Date | 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)
| |