mai99dgf at studserv.uni-leipzig.de
Tue Jan 20 16:44:36 EST 2004
I took a look at the implementation of the MVar function swap and I am
just woundering where the atomicy comes from.
-- |Swap the contents of an 'MVar' for a new value.
swapMVar :: MVar a -> a -> IO a
swapMVar mvar new =
block $ do
old <- takeMVar mvar
putMVar mvar new
Is it really just the Exception block, that makes it not interruptable?
More information about the Haskell-Cafe