
4 Nov
2008
4 Nov
'08
4:51 a.m.
On Mon, Nov 3, 2008 at 23:51, David Menendez
On Mon, Nov 3, 2008 at 6:29 AM, Philip K.F. Hölzenspies
wrote: I have now implemented my variable as a pair of MVars, one of which serves as a lock on the other. Both for performance reasons and for deadlock analysis, I would really like an atomic read on MVars, though. Does it exist? If not, why not?
Have you considered using STM? All the operations on TMVars are atomic.
I will second this. At the very least, if you only need atomic read/write operations you can use TMVars and make aliases that compose with atomically: takeMVar = atomically . takeTMVar putMVar = atomically . putTMVar etc. cheers, Arnar