-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Various concurrency abstractions built on top of semaphores -- -- Provides the LightSwitch and the non-starvable Readers-Writer lock -- from A Little Book of Semaphores @package semaphore-plus @version 0.1 module Control.Concurrent.Util withQSem :: QSem -> IO () -> IO () module Control.Concurrent.LightSwitch data LightSwitch lockLightSwitch :: LightSwitch -> IO () newLightSwitch :: QSem -> IO LightSwitch unlockLightSwitch :: LightSwitch -> IO () withLightSwitch :: LightSwitch -> IO () -> IO () module Control.Concurrent.ReadWriteLock newReadWriteLock :: IO ReadWriteLock readLock :: ReadWriteLock -> IO () readUnlock :: ReadWriteLock -> IO () data ReadWriteLock withReadLock :: ReadWriteLock -> IO () -> IO () withWriteLock :: ReadWriteLock -> IO () -> IO () writeLock :: ReadWriteLock -> IO () writeUnlock :: ReadWriteLock -> IO ()