
14 Jun
2010
14 Jun
'10
5:20 p.m.
v.dijk.bas:
Hello,
I've a short question about interruptible operations. In the following program is it possible for 'putMVar' to re-throw asynchronous exceptions even when asynchronous exception are blocked/masked?
newEmptyMVar >>= \mv -> block $ putMVar mv x
The documentation in Control.Exception about interruptible operations[1] confused me:
"Some operations are interruptible, which means that they can receive asynchronous exceptions even in the scope of a block. Any function which may itself block is defined as interruptible..."
I think the best definition of interruptible is in this paper: www.haskell.org/~simonmar/papers/async.pdf Section 5.3