[GHC] #7417: replace Control.Concurrent.QSem (was: Undeprecate Control.Concurrent.QSem)
GHC
cvs-ghc at haskell.org
Fri Nov 16 14:21:25 CET 2012
#7417: replace Control.Concurrent.QSem
-------------------------------+--------------------------------------------
Reporter: tibbe | Owner:
Type: bug | Status: new
Priority: normal | Milestone:
Component: libraries/base | Version: 7.6.1
Resolution: | Keywords:
Os: Unknown/Multiple | Architecture: Unknown/Multiple
Failure: None/Unknown | Difficulty: Unknown
Testcase: | Blockedby:
Blocking: | Related:
-------------------------------+--------------------------------------------
Changes (by simonmar):
* status: closed => new
* resolution: wontfix =>
Comment:
Ian is right, there's no good reason to have these in base, except that we
inconvenience users by removing them without making alternative provisions
(Duncan's point). So I propose that we
* make sure there's a clear replacement
* arrange that it will be in the platform when the platform adopts 7.8
and if we can't do these, then we should put the original modules back. (I
think we could do without `mergeIO`, but at least `QSem` is important).
I've been experimenting with semaphore implementations:
[https://github.com/simonmar/sem]
The one in [https://github.com/simonmar/sem/blob/master/Sem2.hs] is
reasonably simple, safe from async exceptions, and has good performance
(better than the ones in SafeSemaphore). We could make a new package,
with this as a starting point perhaps? It's only a tiny bit of code
though.
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/7417#comment:4>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the Glasgow-haskell-bugs
mailing list