diff options
| author | Arnaud Bailly <arnaud@pankzsoft.com> | 2025-11-05 13:52:17 +0100 |
|---|---|---|
| committer | Arnaud Bailly <arnaud@pankzsoft.com> | 2025-11-05 13:52:17 +0100 |
| commit | 789fefb111f0ad38a01e2faa9962167269786bb6 (patch) | |
| tree | 5164764c88d76d434b7300c4790051528c24638f | |
| parent | 264e81758fe4932f139819192302f4900ae1e447 (diff) | |
| download | lambda-nantes-789fefb111f0ad38a01e2faa9962167269786bb6.tar.gz | |
Immediately flush logs after writing
| -rw-r--r-- | lambda-calcul/haskell/src/Minilang/Log.hs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lambda-calcul/haskell/src/Minilang/Log.hs b/lambda-calcul/haskell/src/Minilang/Log.hs index bae4f19..6f871bd 100644 --- a/lambda-calcul/haskell/src/Minilang/Log.hs +++ b/lambda-calcul/haskell/src/Minilang/Log.hs @@ -35,7 +35,7 @@ import Data.Time.Clock diffUTCTime, getCurrentTime, ) -import System.IO (Handle, stdout) +import System.IO (Handle, stdout, hFlush) -- | Environment to control a logger thread. data LoggerEnv m = LoggerEnv @@ -71,6 +71,7 @@ runLog :: TChan BS.ByteString -> Handle -> IO a runLog chan hdl = forever $ do toLog <- atomically $ readTChan chan BS.hPutStr hdl . (<> "\n") $ toLog + hFlush hdl stopLogger' :: (MonadIO m) => Async () -> m () stopLogger' = liftIO . cancel |
