Documentation in Control.Monad.STM.TMVar - isEmptyTMVar
apfelmus at quantentunnel.de
Wed Oct 5 17:38:46 CEST 2011
As of stm-22.214.171.124, the documentation for the isEmptyTMVar function
isEmptyTMVar :: TMVar a -> STM BoolSource
Check whether a given TMVar is empty.
Notice that the boolean value returned is just a snapshot of the state
of the TMVar. By the time you get to react on its result, the TMVar
may have been filled (or emptied) - so be extremely careful when using
this operation. Use tryTakeTMVar instead if possible.
This being software transactional memory, where everything is wrapped
into a call to the atomically function, I believe that the second
paragraph is now completely obsolete, to the point of being misleading
(it sure scared me). I would be relieved if someone could remove it.
Most likely, it was originally copied directly from the corresponding
documentation of Control.Concurrent.MVar .
More information about the Libraries