|Portability||non-portable (GHC extensions)|
Basic concurrency stuff.
- ensureIOManagerIsRunning :: IO ()
- threadDelay :: Int -> IO ()
- registerDelay :: Int -> IO (TVar Bool)
- threadWaitRead :: Fd -> IO ()
- threadWaitWrite :: Fd -> IO ()
- closeFdWith :: (Fd -> IO ()) -> Fd -> IO ()
- asyncRead :: Int -> Int -> Int -> Ptr a -> IO (Int, Int)
- asyncWrite :: Int -> Int -> Int -> Ptr a -> IO (Int, Int)
- asyncDoProc :: FunPtr (Ptr a -> IO Int) -> Ptr a -> IO Int
- asyncReadBA :: Int -> Int -> Int -> Int -> MutableByteArray# RealWorld -> IO (Int, Int)
- asyncWriteBA :: Int -> Int -> Int -> Int -> MutableByteArray# RealWorld -> IO (Int, Int)
- data ConsoleEvent
- win32ConsoleHandler :: MVar (ConsoleEvent -> IO ())
- toWin32ConsoleEvent :: (Eq a, Num a) => a -> Maybe ConsoleEvent
Suspends the current thread for a given number of microseconds (GHC only).
There is no guarantee that the thread will be rescheduled promptly when the delay has expired, but the thread will never continue to run earlier than specified.
Set the value of returned TVar to True after a given number of microseconds. The caveats associated with threadDelay also apply.
|:: (Fd -> IO ())|
Low-level action that performs the real close.
File descriptor to close.
|-> IO ()|
Close a file descriptor in a concurrency-safe way (GHC only). If
you are using
threadWaitWrite to perform
blocking I/O, you must use this function to close file
descriptors, or blocked threads may not be woken.