packages feed

concurrent-extra-0.7.0.11: concurrent-extra.cabal

name:          concurrent-extra
version:       0.7.0.11
cabal-version: >= 1.8
build-type:    Simple
stability:     experimental
author:        Bas van Dijk <v.dijk.bas@gmail.com>
               Roel van Dijk <vandijk.roel@gmail.com>
maintainer:    Bas van Dijk <v.dijk.bas@gmail.com>
               Roel van Dijk <vandijk.roel@gmail.com>
copyright:     (c) 2010-2012 Bas van Dijk & Roel van Dijk
license:       BSD3
license-file:  LICENSE
homepage:      https://github.com/basvandijk/concurrent-extra
bug-reports:   https://github.com/basvandijk/concurrent-extra/issues
category:      Concurrency
synopsis:      Extra concurrency primitives
description:
  The @concurrent-extra@ package offers among other things the
  following selection of synchronisation primitives:
  .
  * @Broadcast@: Wake multiple threads by broadcasting a value.
  .
  * @Event@: Wake multiple threads by signalling an event.
  .
  * @Lock@: Enforce exclusive access to a resource. Also known as a
    binary semaphore or mutex. The package additionally provides an
    alternative that works in the @STM@ monad.
  .
  * @RLock@: A lock which can be acquired multiple times by the same
    thread. Also known as a reentrant mutex.
  .
  * @ReadWriteLock@: Multiple-reader, single-writer locks. Used to
    protect shared resources which may be concurrently read, but only
    sequentially written.
  .
  * @ReadWriteVar@: Concurrent read, sequential write variables.
  .
  Please consult the API documentation of the individual modules for
  more detailed information.
  .
  This package was inspired by the concurrency libraries of Java and
  Python.

extra-source-files: README.markdown

source-repository head
  Type: git
  Location: git://github.com/basvandijk/concurrent-extra.git

-------------------------------------------------------------------------------

library
  build-depends: base                 >= 3       && < 5
               , stm                  >= 2.1.2.1 && < 2.5
               , unbounded-delays     >= 0.1     && < 0.2
  exposed-modules: Control.Concurrent.Lock
                 , Control.Concurrent.STM.Lock
                 , Control.Concurrent.RLock
                 , Control.Concurrent.Event
                 , Control.Concurrent.Broadcast
                 , Control.Concurrent.ReadWriteLock
                 , Control.Concurrent.ReadWriteVar
  other-modules: Utils
  ghc-options: -Wall

-------------------------------------------------------------------------------

test-suite test-concurrent-extra
  type:    exitcode-stdio-1.0
  main-is: test.hs
  other-modules: Control.Concurrent.Event.Test
               , Control.Concurrent.Lock.Test
               , Control.Concurrent.STM.Lock.Test
               , Control.Concurrent.RLock.Test
               , Control.Concurrent.Broadcast.Test
               , Control.Concurrent.ReadWriteLock.Test
               , Control.Concurrent.ReadWriteVar.Test
               , TestUtils

  ghc-options: -Wall -threaded

  build-depends: base                 >= 3       && < 5
               , stm                  >= 2.1.2.1 && < 2.5
               , unbounded-delays     >= 0.1     && < 0.2
               , HUnit                >= 1.2.2   && < 1.7
               , random               >= 1.0     && < 1.2
               , test-framework       >= 0.2.4   && < 0.9
               , test-framework-hunit >= 0.2.4   && < 0.4
               , async                >= 2.0     && < 2.2

-------------------------------------------------------------------------------