From fc8511695f9a9589e11ab18727ad6233e785ad1a Mon Sep 17 00:00:00 2001 From: Tom Smeding Date: Thu, 9 Apr 2026 23:27:00 +0200 Subject: Flush stdout after printing This is useful when the program is run as a system service logging to the system log. --- src/AtomicPrint.hs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src/AtomicPrint.hs') diff --git a/src/AtomicPrint.hs b/src/AtomicPrint.hs index c2367dd..82a8552 100644 --- a/src/AtomicPrint.hs +++ b/src/AtomicPrint.hs @@ -9,6 +9,7 @@ import Control.Monad (void) import Data.Text qualified as T import Data.Text.IO.Utf8 qualified as T import Data.Text (Text) +import System.IO import System.IO.Unsafe (unsafePerformIO) @@ -22,7 +23,7 @@ atomicPrintS = atomicPrint . T.pack atomicPrint :: Text -> IO () atomicPrint text = withMVar mutex $ \() -> - T.putStrLn text + T.putStrLn text >> hFlush stdout atomicPrintNoWaitS :: String -> IO () atomicPrintNoWaitS = atomicPrintNoWait . T.pack -- cgit v1.3