[Haskell-cafe] I/O system brokenness with named pipes

Brandon S. Allbery KF8NH allbery at ece.cmu.edu
Fri Apr 11 07:41:37 EDT 2008

On Apr 10, 2008, at 21:34 , John Goerzen wrote:
> So I have a need to write data to a POSIX named pipe (aka FIFO).  Long
> story involving a command that doesn't have an option to read data
> from stdin, but can from a named pipe.
> I have created the named pipe from Haskell no problem.
> But I can't use writeFile to write data to it.  Worse, it returns:
> *** Exception: /tmp/bakroller.zD0xHj/fifo: openFile: does not exist
>     (No such device or address)

The "does not exist" is misleading:  ENXIO ("No such device or  
address"), unless it's being abused by the runtime, indicates  
something's wrong at the kernel level when trying to associate the FIFO.

Using FIFOs properly is actually rather tricky and fidgety.  Can you  
provide the actual code you're using?

brandon s. allbery [solaris,freebsd,perl,pugs,haskell] allbery at kf8nh.com
system administrator [openafs,heimdal,too many hats] allbery at ece.cmu.edu
electrical and computer engineering, carnegie mellon university    KF8NH

More information about the Haskell-Cafe mailing list