This is documented behaviour. You can't open a FIFO in read mode
until a writer has opened the FIFO - instead the open(2) syscall will
block. You can pass the O_NONBLOCK flag to open, in which case the
open call will not block. Or you can open for read and write (because
you yourself are then supplying a writer).
Some more details here:
http://nixdoc.net/man-pages/Linux/man4/fifo.4.html
Rich.
--
Richard Jones, CTO Merjis Ltd.
Merjis - web marketing and technology - http://merjis.com
Team Notepad - intranets and extranets for business - http://team-notepad.com