Hello Scott, Friday, April 6, 2007, 11:44:01 PM, you wrote:
you should write compiler version and OS for such problems. if it's 6.6 and Win, try to upgrade to current STABLE build: smth like http://www.haskell.org/ghc/dist/stable/dist/ghc-6.6.20061207-i386-unknown-mingw32.tar.gz but newer (this one is dec 12 build) I/O in Windows threaded RTS was fixed after initial 6.6 release and afaik hWaitForInput should work better now. alternatively, you can try with hand-made timeout solution > Ooops! It seems that this doesn't behave well with a -threaded > RTS. I get an EOF on handles that I know for a fact shouldn't > be receiving them. It still works well without -threaded, but > does anyone know why I'm getting this behavior? > hGetContentsTimeout :: Handle -> Int -> IO String > hGetContentsTimeout h t = do > hSetBuffering stdin NoBuffering > ready <- hWaitForInput h t > if (not ready) then return [] > else do > c <- hGetChar h > s <- unsafeInterleaveIO (hGetContentsTimeout h t) > return (c:s) > (I did add EOF checking, but all that did was return the end of the list > earlier than I wanted) > -- Best regards, Bulat mailto:[EMAIL PROTECTED] _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe