|
Re: [GHC] #454: hPutBuf doesn't respect LineBuffering: msg#00182lang.haskell.glasgow.bugs
#454: hPutBuf doesn't respect LineBuffering ----------------------------+----------------------------------------------- Reporter: simonmar | Owner: simonmar Type: bug | Status: assigned Priority: low | Milestone: 6.8 Component: libraries/base | Version: 6.4 Severity: normal | Resolution: None Keywords: | Difficulty: Unknown Testcase: | Architecture: Unknown Os: Unknown | ----------------------------+----------------------------------------------- Changes (by igloo): * architecture: => Unknown * difficulty: => Unknown * milestone: => 6.8 * testcase: => * os: => Unknown Old description: > {{{ > On 15 April 2005 02:39, Ian Lynagh wrote: > > > If I run this program: > > > > -------------------------------------------------- > > import System.Cmd (system) > > import Foreign.C.String (castCharToCChar) > > import Foreign.Marshal.Array (newArray) > > import System.IO (hSetBinaryMode, hPutBuf, stdout, > hSetBuffering, > > BufferMode(..)) > > > > main = do hSetBinaryMode stdout True > > hSetBuffering stdout LineBuffering > > p <- newArray (map castCharToCChar "foo\n") > > hPutBuf stdout p 4 > > system "sleep 5" > > putStr "bar\n" > > -------------------------------------------------- > > > > compiled by GHC then it waits 5 seconds and then > prints foo and bar > > together. > > > > With hugs, foo is printed and then 5 seconds later > bar is printed, as > > I would expect. > > True, the implementation doesn't respect LineBuffering > (though it does > respect the other buffering modes, I believe). That's > a bug. > > }}} New description: {{{ On 15 April 2005 02:39, Ian Lynagh wrote: > If I run this program: > > -------------------------------------------------- > import System.Cmd (system) > import Foreign.C.String (castCharToCChar) > import Foreign.Marshal.Array (newArray) > import System.IO (hSetBinaryMode, hPutBuf, stdout, hSetBuffering, > BufferMode(..)) > > main = do hSetBinaryMode stdout True > hSetBuffering stdout LineBuffering > p <- newArray (map castCharToCChar "foo\n") > hPutBuf stdout p 4 > system "sleep 5" > putStr "bar\n" > -------------------------------------------------- > > compiled by GHC then it waits 5 seconds and then prints foo and bar > together. > > With hugs, foo is printed and then 5 seconds later bar is printed, as > I would expect. True, the implementation doesn't respect LineBuffering (though it does respect the other buffering modes, I believe). That's a bug. }}} -- Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/454> GHC <http://www.haskell.org/ghc/> The Glasgow Haskell Compiler_______________________________________________ Glasgow-haskell-bugs mailing list Glasgow-haskell-bugs@xxxxxxxxxxx http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: [GHC] #445: panic! mkWWcpr: not a product, GHC |
|---|---|
| Next by Date: | Re: [GHC] #455: mkProtoBCO: stack use won't fit in 16 bits 79141, GHC |
| Previous by Thread: | Re: [GHC] #445: panic! mkWWcpr: not a product, GHC |
| Next by Thread: | Re: [GHC] #789: BCOs can only have 64k instructions, GHC |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |