
On Apr 11, 2008, at 9:08 , John Goerzen wrote:
On Fri April 11 2008 8:02:07 am Brandon S. Allbery KF8NH wrote:
On Apr 11, 2008, at 8:12 , John Goerzen wrote:
OK, I have referred to fifo(7) regarding this point. It seems I may need a loop trying over and over to open the FIFO in write mode. It also appears that ReadWriteMode appearing to work is Linux-specific, and this behavior is left undefined in POSIX.
Undefined in POSIX, normal for Unix (and Linux originally promised only POSIX semantics but was rejiggered some years back to behave like Unix in this regard, because Unix programs rely on these semantics and therefore failed on Linux).
Hrm, can you define what OSs you mean when you say "Unix"?
SunOS/Solaris, and in general the descendants of 4.xBSD and AT&T System III/V. Unless this is a different issue from the usual FIFO only-works-as-expected-if-both-ends-always-open problem. That is, unless the first opener opens read/write, neither a prospective writer nor a prospective reader will be capable of opening it at all; depending on OS you will get ENXIO or EPIPE or (in some rare implementations) EAGAIN. -- brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery@kf8nh.com system administrator [openafs,heimdal,too many hats] allbery@ece.cmu.edu electrical and computer engineering, carnegie mellon university KF8NH