[GHC] #9030: An async exception handler that blocks throwTo until handler finishes running
GHC
ghc-devs at haskell.org
Thu Apr 24 02:44:33 UTC 2014
#9030: An async exception handler that blocks throwTo until handler finishes
running
-------------------------------------+------------------------------------
Reporter: jberryman | Owner:
Type: feature request | Status: new
Priority: normal | Milestone:
Component: Compiler | Version: 7.8.2
Resolution: | Keywords:
Operating System: Unknown/Multiple | Architecture: Unknown/Multiple
Type of failure: None/Unknown | Difficulty: Unknown
Test Case: | Blocked By:
Blocking: | Related Tickets:
-------------------------------------+------------------------------------
Comment (by ezyang):
OK, I looked at your example more carefully, I think this alternate design
is more appropriate: you should just mask exceptions before reading from
the channel. (Now readChan never services an exception once it has
successfully read from the MVar, it will finish processing before
admitting the exception.) Mask is exactly about setting up the
linearizability properly. This won't help if a blocking call inside the
mask requires an exception handler to run, but it feels like this should
be rare (i.e. you shouldn't hold onto resources if you're going to block).
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9030#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list