hSetBinaryMode, -- :: Handle -> Bool -> IO ()
hPutBuf, -- :: Handle -> Ptr a -> Int -> IO ()
hGetBuf, -- :: Handle -> Ptr a -> Int -> IO Int
+ hPutBufNonBlocking, -- :: Handle -> Ptr a -> Int -> IO Int
+ hGetBufNonBlocking, -- :: Handle -> Ptr a -> Int -> IO Int
#endif
module System.IO.Error,
, IO ()
, FilePath -- :: String
)
-import NHC.Internal (unsafePerformIO)
+import NHC.IOExtras (fixIO)
#endif
import System.IO.Error (
fixIO :: (a -> IO a) -> IO a
fixIO m = stToIO (fixST (ioToST . m))
#endif
-#ifdef __NHC__
-fixIO :: (a -> IO a) -> IO a
-fixIO f = let x = unsafePerformIO (f x) in return x
-#endif
-- $locking
-- Implementations should enforce as far as possible, at least locally to the