
24 Dec
2010
24 Dec
'10
8:32 p.m.
Merry Christmas all! Is it just me, or does the Control.Concurrent.MVar documentation seem a bit misleading? In particular, we should explicitly note the race conditions for not just swapMVar but also readMVar, withMVar, modifyMVar_ and modifyMVar, and clarify that the safety guarantees of the latter three pertain to their handling of asynchronous exceptions. It might also be good to tell people that if they need race-free operations of this style, STM is a good alternative to look at, even if only one variable is being synchronized over. Cheers, Edward