module Control.Concurrent.STM.TSem.Lifted ( module All , newTSemIO , waitTSemIO , signalTSemIO ) where import Control.Concurrent.STM.TSem as All import Internal ---------------------------------------------------------------------- newTSemIO :: MonadIO m => Int -> m TSem newTSemIO = atomically . newTSem waitTSemIO :: MonadIO m => TSem -> m () waitTSemIO = atomically . waitTSem signalTSemIO :: MonadIO m => TSem -> m () signalTSemIO = atomically . signalTSem