On 5 September 2012 13:45, Magicloud Magiclouds <magicloud.magiclo...@gmail.com> wrote: > Hi, > I have code like this and it leaves lots of zombies of flow-export. > Then I add waitForProcess.... Well I do not know where to put it. > Before or after 'hGetContents' both make the program hung.
You're probably being bitten by hGetContents being lazy. Force the result of hGetContents (e.g. `evaluate . length =<< hGetContents o ') and then use waitForProcess. > > exportCSV :: FilePath -> IO [String] > exportCSV file = do > csv_ <- withBinaryFile file ReadMode $ \i -> do > (_, Just o, _, h) <- createProcess $ CreateProcess (RawCommand > "/usr/bin/flow-export" ["-f2"]) Nothing Nothing (UseHandle i) > CreatePipe Inherit True False > hGetContents o > return $ tail $ lines csv_ > > -- > 竹密岂妨流水过 > 山高哪阻野云飞 > > And for G+, please use magiclouds#gmail.com. > > _______________________________________________ > Haskell-Cafe mailing list > Haskell-Cafe@haskell.org > http://www.haskell.org/mailman/listinfo/haskell-cafe -- Ivan Lazar Miljenovic ivan.miljeno...@gmail.com http://IvanMiljenovic.wordpress.com _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe