privileged-concurrency-0.7.0: Provides privilege separated versions of the concurrency primitives.

Safe HaskellSafe
LanguageHaskell2010

Control.Concurrent.MVar.Class

Documentation

class MVarWrite var where Source #

Minimal complete definition

putMVar, tryPutMVar

Methods

putMVar :: MonadIO m => var a -> a -> m () Source #

tryPutMVar :: MonadIO m => var a -> a -> m Bool Source #

Instances

MVarWrite MVar Source # 

Methods

putMVar :: MonadIO m => MVar a -> a -> m () Source #

tryPutMVar :: MonadIO m => MVar a -> a -> m Bool Source #

MVarWrite WriteOnlyMVar Source # 

Methods

putMVar :: MonadIO m => WriteOnlyMVar a -> a -> m () Source #

tryPutMVar :: MonadIO m => WriteOnlyMVar a -> a -> m Bool Source #

class MVarRead var where Source #

Minimal complete definition

takeMVar, readMVar, tryReadMVar, tryTakeMVar, withMVar

Methods

takeMVar :: MonadIO m => var a -> m a Source #

readMVar :: MonadIO m => var a -> m a Source #

tryReadMVar :: MonadIO m => var a -> m (Maybe a) Source #

tryTakeMVar :: MonadIO m => var a -> m (Maybe a) Source #

withMVar :: MonadUnliftIO m => var a -> (a -> m b) -> m b Source #

Instances

MVarRead MVar Source # 

Methods

takeMVar :: MonadIO m => MVar a -> m a Source #

readMVar :: MonadIO m => MVar a -> m a Source #

tryReadMVar :: MonadIO m => MVar a -> m (Maybe a) Source #

tryTakeMVar :: MonadIO m => MVar a -> m (Maybe a) Source #

withMVar :: MonadUnliftIO m => MVar a -> (a -> m b) -> m b Source #

MVarRead ReadOnlyMVar Source # 

Methods

takeMVar :: MonadIO m => ReadOnlyMVar a -> m a Source #

readMVar :: MonadIO m => ReadOnlyMVar a -> m a Source #

tryReadMVar :: MonadIO m => ReadOnlyMVar a -> m (Maybe a) Source #

tryTakeMVar :: MonadIO m => ReadOnlyMVar a -> m (Maybe a) Source #

withMVar :: MonadUnliftIO m => ReadOnlyMVar a -> (a -> m b) -> m b Source #