packages feed

global-lock-0.1: global-lock.cabal

name:                global-lock
version:             0.1
license:             BSD3
license-file:        LICENSE
synopsis:            A global lock implemented without unsafePerformIO
category:            System, Concurrency
author:              Keegan McAllister <mcallister.keegan@gmail.com>
maintainer:          Keegan McAllister <mcallister.keegan@gmail.com>
build-type:          Simple
cabal-version:       >=1.6
description:
    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.

extra-source-files:
    README
  , test/counter.hs
  , test/bench.hs

library
  exposed-modules:
      System.GlobalLock
    , System.GlobalLock.Internal

  c-sources:
      cbits/global.c

  ghc-options: -Wall
  build-depends:
      base >= 3 && < 5

  other-extensions:
      ForeignFunctionInterface

source-repository head
    type:     git
    location: git://github.com/kmcallister/global-lock