[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