lio-0.11.6.0: Labeled IO Information Flow Control Library

Safe HaskellSafe
LanguageHaskell98

LIO.Concurrent.LMVar.Trans

Description

MonadLIO generalizations for LIO.Concurrent.LMVar.

Synopsis

Documentation

newEmptyLMVar :: (MonadLIO l m, Label l) => l -> m (LMVar l a) Source #

newEmptyLMVarP :: (MonadLIO l m, PrivDesc l p) => Priv p -> l -> m (LMVar l a) Source #

newLMVar :: (MonadLIO l m, Label l) => l -> a -> m (LMVar l a) Source #

newLMVarP :: (MonadLIO l m, PrivDesc l p) => Priv p -> l -> a -> m (LMVar l a) Source #

takeLMVar :: (MonadLIO l m, Label l) => LMVar l a -> m a Source #

takeLMVarP :: (MonadLIO l m, PrivDesc l p) => Priv p -> LMVar l a -> m a Source #

tryTakeLMVar :: (MonadLIO l m, Label l) => LMVar l a -> m (Maybe a) Source #

tryTakeLMVarP :: (MonadLIO l m, PrivDesc l p) => Priv p -> LMVar l a -> m (Maybe a) Source #

putLMVar :: (MonadLIO l m, Label l) => LMVar l a -> a -> m () Source #

putLMVarP :: (MonadLIO l m, PrivDesc l p) => Priv p -> LMVar l a -> a -> m () Source #

tryPutLMVar :: (MonadLIO l m, Label l) => LMVar l a -> a -> m Bool Source #

tryPutLMVarP :: (MonadLIO l m, PrivDesc l p) => Priv p -> LMVar l a -> a -> m Bool Source #

readLMVar :: (MonadLIO l m, Label l) => LMVar l a -> m a Source #

readLMVarP :: (MonadLIO l m, PrivDesc l p) => Priv p -> LMVar l a -> m a Source #

swapLMVar :: (MonadLIO l m, Label l) => LMVar l a -> a -> m a Source #

swapLMVarP :: (MonadLIO l m, PrivDesc l p) => Priv p -> LMVar l a -> a -> m a Source #

isEmptyLMVarP :: (MonadLIO l m, PrivDesc l p) => Priv p -> LMVar l a -> m Bool Source #