base-compat-0.13.1: A compatibility layer for base
Safe HaskellTrustworthy
LanguageHaskell2010

Control.Concurrent.Compat

Documentation

forkOSWithUnmask :: ((forall a. IO a -> IO a) -> IO ()) -> IO ThreadId #

withMVarMasked :: MVar a -> (a -> IO b) -> IO b #

data MVar a #

Instances

Instances details
Eq (MVar a) 
Instance details

Defined in GHC.MVar

Methods

(==) :: MVar a -> MVar a -> Bool #

(/=) :: MVar a -> MVar a -> Bool #

data Chan a #

Instances

Instances details
Eq (Chan a) 
Instance details

Defined in Control.Concurrent.Chan

Methods

(==) :: Chan a -> Chan a -> Bool #

(/=) :: Chan a -> Chan a -> Bool #

dupChan :: Chan a -> IO (Chan a) #

getChanContents :: Chan a -> IO [a] #

newChan :: IO (Chan a) #

readChan :: Chan a -> IO a #

writeChan :: Chan a -> a -> IO () #

writeList2Chan :: Chan a -> [a] -> IO () #

addMVarFinalizer :: MVar a -> IO () -> IO () #

mkWeakMVar :: MVar a -> IO () -> IO (Weak (MVar a)) #

modifyMVar :: MVar a -> (a -> IO (a, b)) -> IO b #

modifyMVarMasked :: MVar a -> (a -> IO (a, b)) -> IO b #

modifyMVarMasked_ :: MVar a -> (a -> IO a) -> IO () #

modifyMVar_ :: MVar a -> (a -> IO a) -> IO () #

swapMVar :: MVar a -> a -> IO a #

withMVar :: MVar a -> (a -> IO b) -> IO b #

data QSem #

signalQSem :: QSem -> IO () #

waitQSem :: QSem -> IO () #

data QSemN #

signalQSemN :: QSemN -> Int -> IO () #

waitQSemN :: QSemN -> Int -> IO () #

threadDelay :: Int -> IO () #

threadWaitRead :: Fd -> IO () #

threadWaitReadSTM :: Fd -> IO (STM (), IO ()) #

threadWaitWrite :: Fd -> IO () #

threadWaitWriteSTM :: Fd -> IO (STM (), IO ()) #

data ThreadId #

Instances

Instances details
Show ThreadId 
Instance details

Defined in GHC.Conc.Sync

Eq ThreadId 
Instance details

Defined in GHC.Conc.Sync

Ord ThreadId 
Instance details

Defined in GHC.Conc.Sync

forkIO :: IO () -> IO ThreadId #

forkIOWithUnmask :: ((forall a. IO a -> IO a) -> IO ()) -> IO ThreadId #

forkOn :: Int -> IO () -> IO ThreadId #

forkOnWithUnmask :: Int -> ((forall a. IO a -> IO a) -> IO ()) -> IO ThreadId #

throwTo :: Exception e => ThreadId -> e -> IO () #

yield :: IO () #

newMVar :: a -> IO (MVar a) #

putMVar :: MVar a -> a -> IO () #

readMVar :: MVar a -> IO a #

takeMVar :: MVar a -> IO a #

tryPutMVar :: MVar a -> a -> IO Bool #

tryReadMVar :: MVar a -> IO (Maybe a) #

tryTakeMVar :: MVar a -> IO (Maybe a) #

forkOS :: IO () -> IO ThreadId #

forkOSWithUnmask :: ((forall a. IO a -> IO a) -> IO ()) -> IO ThreadId #