Name: lockfree-queue
Version: 0.2
License: BSD3
License-file: LICENSE
Author: Ryan R. Newton
Maintainer: rrnewton@gmail.com
Category: Data, Concurrent
Build-type: Simple
Cabal-version: >=1.8
Homepage: https://github.com/rrnewton/haskell-lockfree-queue/wiki
-- Version History:
-- 0.1 -- initial version
-- 0.2 -- switched to MutVar
Synopsis: Michael and Scott lock-free queues.
Description:
Michael and Scott queues are described in their PODC 1996 paper:
.
<http://dl.acm.org/citation.cfm?id=248052.248106>
.
These are single-ended concurrent queues based on a singlly linked
list and using atomic CAS instructions to swap the tail pointers.
As a well-known efficient algorithm they became the basis for Java's
@ConcurrentLinkedQueue@.
extra-source-files:
stress_test.sh
Library
exposed-modules: Data.Concurrent.Queue.MichaelScott,
Data.Concurrent.Queue.MichaelScott.DequeInstance
build-depends: base >= 4.4.0.0 && < 5,
ghc-prim, IORefCAS >= 0.2, abstract-deque, bytestring
-- Build failure on GHC 7.2:
-- queuelike
ghc-options: -O2
Source-Repository head
Type: git
Location: git://github.com/rrnewton/haskell-lockfree-queue.git
Test-Suite test-lockfree-queue
type: exitcode-stdio-1.0
main-is: Test.hs
build-depends: base >= 4.4.0.0 && < 5, IORefCAS >= 0.2, abstract-deque, bytestring,
HUnit, test-framework, test-framework-hunit
ghc-options: -O2 -threaded -rtsopts