
Here's the uname -a output:
$ uname -a
Linux pc207 2.6.30.10-105.2.23.fc11.x86_64 #1 SMP Thu Feb 11 07:06:34
UTC 2010 x86_64 x86_64 x86_64 GNU/Linux
Patrick
On Tue, Nov 23, 2010 at 10:36 AM, Patrick LeBoutillier
On Tue, Nov 23, 2010 at 9:13 AM, matthew coolbeth
wrote: That's interesting. This was using my source code?
Yes, as is. I compiled it with "ghc --make pipe.hs".
I'm running Fedora 10 x64 with: $ ghc --version The Glorious Glasgow Haskell Compilation System, version 6.10.1
Patrick
On mine (also a Linux box), it exited immediately, giving me no opportunity to write to the pipe.
On 2010-11-23, Patrick LeBoutillier
wrote: Matthew,
Does it return immediately when you start it or only when you try to write to the pipe with some client?
Here's what I get on my Linux box:
$ rm /tmp/dld.fifo && ./pipe & [1] 8603 $ echo -e "1\n2\n3" > /tmp/dld.fifo 1 2 3 pipe: /tmp/dld.fifo: hGetLine: end of file
Patrick
On Tue, Nov 23, 2010 at 7:55 AM, matthew coolbeth
wrote: Hello, all.
Three questions:
1> What, if anything, can I do in a Haskell program to do blocking reads from a Linux FIFO? For the curious, there is a small program below that doesn't block, but immediately terminates because of an EOF
2> How could I have found the answer to this question on my own? (The documentation that Google found for me was not completely adequate)
3> Is this sort of question generally regarded as too unixy or not haskelly enough to be appropriate for this mailing list?
Thanks.
--BEGIN PROGRAM-- module Main () where
import Control.Monad import System.IO import System.Posix.Files
pipeString = "/tmp/dld.fifo"
main :: IO () main = do createNamedPipe pipeString $ unionFileModes ownerReadMode ownerWriteMode pipe <- openFile pipeString ReadMode forever (hGetLine pipe >>= putStrLn)
-- mac _______________________________________________ Beginners mailing list Beginners@haskell.org http://www.haskell.org/mailman/listinfo/beginners
-- ===================== Patrick LeBoutillier Rosemère, Québec, Canada
-- mac
-- ===================== Patrick LeBoutillier Rosemère, Québec, Canada
-- ===================== Patrick LeBoutillier Rosemère, Québec, Canada