try +stm

tryPeekTBQueue :: TBQueue a -> STM (Maybe a)
stm Control.Concurrent.STM.TBQueue
A version of peekTBQueue which does not retry. Instead it returns Nothing if no value is available.
tryPeekTChan :: TChan a -> STM (Maybe a)
stm Control.Concurrent.STM.TChan
A version of peekTChan which does not retry. Instead it returns Nothing if no value is available.
tryPeekTQueue :: TQueue a -> STM (Maybe a)
stm Control.Concurrent.STM.TQueue
A version of peekTQueue which does not retry. Instead it returns Nothing if no value is available.
tryPutTMVar :: TMVar a -> a -> STM Bool
stm Control.Concurrent.STM.TMVar
A version of putTMVar that does not retry. The tryPutTMVar function attempts to put the value a into the TMVar, returning True if it was successful, or False otherwise.
tryReadTBQueue :: TBQueue a -> STM (Maybe a)
stm Control.Concurrent.STM.TBQueue
A version of readTBQueue which does not retry. Instead it returns Nothing if no value is available.
tryReadTChan :: TChan a -> STM (Maybe a)
stm Control.Concurrent.STM.TChan
A version of readTChan which does not retry. Instead it returns Nothing if no value is available.
tryReadTMVar :: TMVar a -> STM (Maybe a)
stm Control.Concurrent.STM.TMVar
A version of readTMVar which does not retry. Instead it returns Nothing if no value is available.
tryReadTQueue :: TQueue a -> STM (Maybe a)
stm Control.Concurrent.STM.TQueue
A version of readTQueue which does not retry. Instead it returns Nothing if no value is available.
tryTakeTMVar :: TMVar a -> STM (Maybe a)
stm Control.Concurrent.STM.TMVar
A version of takeTMVar that does not retry. The tryTakeTMVar function returns Nothing if the TMVar was empty, or Just a if the TMVar was full with contents a. After tryTakeTMVar, the TMVar is left empty.
retry :: STM a
stm Control.Monad.STM
Retry execution of the current memory transaction because it has seen values in TVars which mean that it should not continue (e.g. the TVars represent a shared buffer that is now empty). The implementation may block the thread until one of the TVars that it has read from has been udpated. (GHC only)