On Jun 23, 2009, at 09:41 , Simon Marlow wrote:
main = do
(ih, oh, _, _) <- runInteractiveProcess "cat" [] Nothing Nothing
comphszp <- hGetContents oh
print (length comphszp)
-- hClose ih -- with this line they both deadlock


Note that you can trigger this in any language; it's a classic beginner error with pipes (see, for example, the documentation for open2/open3 in Perl or Python for other examples). Detecting this in the type system would be an interesting idea, but de facto I think this is a "it hurts when I do this".

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


Attachment: PGP.sig
Description: This is a digitally signed message part

_______________________________________________
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users

Reply via email to