On 06 April 2005 16:16, Volker Wysk wrote:
> The following program demonstrates the bug:
>
> import GHC.Handle
> import GHC.IOBase
> import GHC.Conc
> import IO
>
> main = do
> h <- openFile "/tmp/out" WriteMode
> hDuplicateTo h stdout
>
> fdh <- getfd h
> fdstdout <- getfd stdout
> hPutStrLn stderr ("h: " ++ show fdh ++ "\nstdout: " ++ show
> fdstdout)
>
> hClose h
> putStrLn "bla"
>
>
> getfd h@(FileHandle _ mvar) = do
> h__ <- takeMVar mvar
> let fd = fromIntegral (haFD h__)
> putMVar mvar h__
> return fd
>
>
> The output:
>
> h: 1
> stdout: 1
> dup: <stdout>: hPutChar: invalid argument (Bad file descriptor)
That's a bug, now fixed. Thanks for the report.
Cheers,
Simon
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs