summaryrefslogtreecommitdiff
path: root/ghc
diff options
context:
space:
mode:
authorPatrick Palka <patrick@parcs.ath.cx>2013-08-21 16:53:15 -0400
committerPatrick Palka <patrick@parcs.ath.cx>2013-08-26 22:21:16 -0400
commite8d0dc7e00e7c55bd23bcccd059683f8a7eadfd1 (patch)
treea9e3e74af4893957a3508fbcf0ecb42b41d2c1da /ghc
parentdb347943b860b7bede85fe4a94f0e79eada035ae (diff)
downloadhaskell-e8d0dc7e00e7c55bd23bcccd059683f8a7eadfd1.tar.gz
Make stdout and stderr line-buffered
An unbuffered handle is very slow to output to and there doesn't seem to be any reason to have these handles unbuffered.
Diffstat (limited to 'ghc')
-rw-r--r--ghc/InteractiveUI.hs1
-rw-r--r--ghc/Main.hs4
2 files changed, 3 insertions, 2 deletions
diff --git a/ghc/InteractiveUI.hs b/ghc/InteractiveUI.hs
index 91648a31d1..80032f2949 100644
--- a/ghc/InteractiveUI.hs
+++ b/ghc/InteractiveUI.hs
@@ -388,6 +388,7 @@ interactiveUI config srcs maybe_exprs = do
-- We don't want the cmd line to buffer any input that might be
-- intended for the program, so unbuffer stdin.
hSetBuffering stdin NoBuffering
+ hSetBuffering stderr NoBuffering
#if defined(mingw32_HOST_OS)
-- On Unix, stdin will use the locale encoding. The IO library
-- doesn't do this on Windows (yet), so for now we use UTF-8,
diff --git a/ghc/Main.hs b/ghc/Main.hs
index 66db90a9f7..868042b4e2 100644
--- a/ghc/Main.hs
+++ b/ghc/Main.hs
@@ -76,8 +76,8 @@ import Data.Maybe
main :: IO ()
main = do
- hSetBuffering stdout NoBuffering
- hSetBuffering stderr NoBuffering
+ hSetBuffering stdout LineBuffering
+ hSetBuffering stderr LineBuffering
GHC.defaultErrorHandler defaultFatalMessager defaultFlushOut $ do
-- 1. extract the -B flag from the args
argv0 <- getArgs