stm-io-hooks-0.7.1: An STM monad with IO hooks

Portabilitynon-portable (requires STM)
Stabilityexperimental
MaintainerPeter Robinson <robinson@ecs.tuwien.ac.at>

Control.Concurrent.AdvSTM.TVar

Contents

Description

 

Synopsis

TVars

data TVar a Source

newTVar :: MonadAdvSTM m => a -> m (TVar a)Source

See newTVar

readTVar :: MonadAdvSTM m => TVar a -> m aSource

Reads a value from a TVar. Blocks until the IO onCommit aidction(s) of the corresponding transaction are complete.is not the last function See onCommit for a more detailed description of this behaviour.

writeTVar :: MonadAdvSTM m => TVar a -> a -> m ()Source

Writes a value to a TVar. Blocks until the onCommit IO-action(s) are complete. See onCommit for details.

readTVarAsync :: MonadAdvSTM m => TVar a -> m aSource

Reads a value directly from the TVar. Does not block when the onCommit actions aren't done yet. NOTE: Only use this function when you know what you're doing.

writeTVarAsync :: MonadAdvSTM m => TVar a -> a -> m ()Source

Writes a value directly to the TVar. Does not block when onCommit actions aren't done yet. This function comes in handy for error recovery of exceptions that occur in onCommit.