[stm] strange behavior with TQueue and STM's alternative instance
Bas van Dijk
v.dijk.bas at gmail.com
Mon Dec 10 16:07:49 CET 2012
On 10 December 2012 15:20, Simon Marlow <marlowsd at gmail.com> wrote:
> I don't think reading or writing in the inner transaction affects the bug,
If you don't read or write in the inner transaction, like in the
following example, the program correctly prints 2:
import Control.Concurrent.STM
main = do
x <- atomically $ do
t <- newTVar 1
writeTVar t 2
(retry `orElse` return ()) `orElse` return ()
readTVar t
print x
More information about the Libraries
mailing list