[GHC] #8035: STM transaction left open if there is an orElse on the path between throwSTM and catchSTM
GHC
ghc-devs at haskell.org
Fri Jul 5 18:03:38 CEST 2013
#8035: STM transaction left open if there is an orElse on the path between
throwSTM and catchSTM
---------------------------------+------------------------------------------
Reporter: errge | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: Runtime System | Version: 7.7
Keywords: stm rts | Os: Unknown/Multiple
Architecture: Unknown/Multiple | Failure: Runtime crash
Difficulty: Unknown | Testcase:
Blockedby: | Blocking:
Related: |
---------------------------------+------------------------------------------
Comment(by errge):
Well, actually I was actually recognizing the missing transaction close by
a lot of fprintf(stderr). Then copied the code for aborting a transaction
from findRetryFrameHelper, which is just below in the same file.
But your reasoning sounds easier :)
Anyway, I uploaded a new patch, that contains no fallthrough.
On the other hand, this means that now we'll have three places for very
similar code. Should we try to write a helper function somewhere? Or if
there are too many variables to pass, then a helper macro maybe?
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/8035#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list