#3160: No exception safety in Control.Concurrent.QSem QSemN and SampleVar
---------------------------------+------------------------------------------
Reporter: ChrisKuklewicz | Owner: simonmar
Type: bug | Status: patch
Priority: normal | Milestone: 7.6.1
Component: libraries/base | Version: 7.0.2
Keywords: | Os: Unknown/Multiple
Architecture: Unknown/Multiple | Failure: Incorrect result at runtime
Difficulty: Unknown | Testcase:
Blockedby: | Blocking:
Related: |
---------------------------------+------------------------------------------
Comment(by simonmar):
The problem is that I just don't understand the patches. You sent a long
and detailed explanation for which I'm very grateful, but nevertheless it
would take a long time for me to understand your algorithms, and I'm not
confident that I would be able to spot any bugs if there are any.
Furthermore, you have used `uninterruptibleMask` in at least one place,
which makes me very uneasy.
On the other hand, we know the current code is broken.
I'd be much more comfortable with using STM here. The code would be
obviously correct, and probably only slightly slower than an optimised
MVar implementation (and maybe even faster - all those `mask`s and
`catch`es are not cheap).
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/3160#comment:15>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs