Example program:
{-# LANGUAGE OverloadedStrings #-}
import qualified Data.ByteString as BS
import System.IO
import System.Process
main :: IO ()
main = do
(h_read, h_write) <- createPipe
let msg = "233"
BS.hPut h_write msg
hFlush h_write
BS.hGet h_read (BS.length msg) >>= print
This prints "233" on Linux/macOS, but the program hangs indefinitely on Windows. Tested against ghc-8.10.1 which ships process-1.6.8.2, both on my Windows 10 laptop and on GitHub Actions.
Example program:
{-# LANGUAGE OverloadedStrings #-} import qualified Data.ByteString as BS import System.IO import System.Process main :: IO () main = do (h_read, h_write) <- createPipe let msg = "233" BS.hPut h_write msg hFlush h_write BS.hGet h_read (BS.length msg) >>= printThis prints
"233"on Linux/macOS, but the program hangs indefinitely on Windows. Tested againstghc-8.10.1which shipsprocess-1.6.8.2, both on my Windows 10 laptop and on GitHub Actions.