global-lock: A global lock implemented without unsafePerformIO

[ bsd3, concurrency, library, system ] [ Propose Tags ]

This library provides a single global lock. You can use it, for example, to protect a thread-unsafe C library.

The implementation does not use unsafePerformIO. It should be safe against GHC bugs such as http://hackage.haskell.org/trac/ghc/ticket/5558.

You can use this library as-is, or as a template for including a similar lock in your own Haskell project.

This library requires that the C compiler invoked by Cabal is GCC 4.1 or newer.


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

  • No Candidates
Versions [RSS] 0.1
Dependencies base (>=3 && <5) [details]
License BSD-3-Clause
Author Keegan McAllister <mcallister.keegan@gmail.com>
Maintainer Keegan McAllister <mcallister.keegan@gmail.com>
Category System, Concurrency
Source repo head: git clone git://github.com/kmcallister/global-lock
Uploaded by KeeganMcAllister at 2011-11-04T07:48:43Z
Distributions NixOS:0.1
Reverse Dependencies 2 direct, 3 indirect [details]
Downloads 1683 total (13 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs uploaded by user
Build status unknown [no reports yet]

Readme for global-lock-0.1

[back to package description]
global-lock provides a single global lock for Haskell code, implemented without
unsafePerformIO.  You can use this, for example, to protect a thread-unsafe C
library.  global-lock is usable as-is, or as a template for including a similar
lock in your own Haskell project.

Documentation is hosted at http://hackage.haskell.org/package/global-lock

To build the documentation yourself, run

  $ cabal configure && cabal haddock --hyperlink-source

This will produce HTML documentation under dist/doc/html/global-lock