-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Extra STM functions
--   
--   Please see README.md
@package stm-extras
@version 0.1.0.3

module Control.Concurrent.STM.TMVar.Extras

-- | Non-blocking swap of TMVar irreguardless if it previously contained a
--   value or not. Returns what was in the TMVar (if exists)
forceSwapTMVar :: TMVar a -> a -> STM (Maybe a)

-- | Block until TMVar is empty. The argument a is used to try to put into
--   TMVar, but is taken out again in the same transaction
waitTillEmptyTMVar :: TMVar a -> a -> STM ()

-- | Block until TMVar is full.
waitTillFullTMVar :: TMVar a -> STM ()
