-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/
-- | Packaging of 'WaitHandle', extracted from Max Bolingbroke's OpenShake. Wait
handles are MVars which can only be written to once, and from which values
can never be removed.
--
@package wait-handle
@version 0.1
module Control.Concurrent.MVar.WaitHandle
-- | A WaitHandle is basically just an MVar that can only be
-- put into once, and then never gets anything removed from it
data WaitHandle a
newWaitHandle :: IO (WaitHandle a, a -> IO ())
waitOnWaitHandle :: WaitHandle a -> IO a
-- | Looks ahead to see if the caller is likely to have to wait on the wait
-- handle. If this function returns True then they may or may not
-- actually have to wait, but if the function returns False then
-- they certainly won't have to wait.
mayWaitOnWaitHandle :: WaitHandle a -> IO Bool
instance Functor WaitHandle
instance Show (WaitHandle a)
instance Eq (WaitHandle a)