newEmptyTMVar

newEmptyTMVar :: STM (TMVar a)
stm Control.Concurrent.STM.TMVar
Create a TMVar which is initially empty.
newEmptyTMVarIO :: IO (TMVar a)
stm Control.Concurrent.STM.TMVar
IO version of newEmptyTMVar. This is useful for creating top-level TMVars using unsafePerformIO, because using atomically inside unsafePerformIO isn't possible.