A global lock implemented without unsafePerformIO
This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.
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.
unsafePerformIO
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.