bits-atomic-0.1.3: Atomic bit operations on memory locations for low-level synchronization

The bits-atomic package

Atomic operations including CAS (compare-and-swap), fetch & add and variants suitable for low-level shared-memory synchronization.

The implementation is using GCC's builtin atomic operations (available in GCC >= 4) in C wrappers called through the FFI. See these links for background:

Portability: This package is primarily developed on a Linux system, but should work wherever GCC >= 4 is available. It has been confirmed as working on OSX. On Windows, it should work with Cygwin but currently fails for vanilla Haskell-Platform 2010.1.0.0 as it still packages GCC 3.x. An installer for updated versions of GCC is available at http://www.mingw.org/ and should make this package work in connection with Haskell-Platform. Feedback on compatibility would be appreciated.

Testing: The following commands can be used to compile and run the test suite:

 cabal unpack bits-atomic && cd bits-atomic-* # if not yet locally available
 cabal configure -ftest
 cabal build
 cabal test

Recent changes:

Properties

Versions0.1.0, 0.1.1, 0.1.2, 0.1.3
Dependenciesbase (≥4 & <6)
LicenseBSD3
AuthorGabriel Wicke <wicke@wikidev.net>
MaintainerGabriel Wicke <wicke@wikidev.net>
Stabilityexperimental
CategoryData, Concurrency, Foreign
Source repositoryhg clone http://dev.wikidev.net/hg/bits-atomic/
Executablestest
Upload dateSun Sep 5 07:54:05 UTC 2010
Uploaded byGabrielWicke
Built onghc-6.12, ghc-7.0, ghc-7.2
DistributionsNixOS: 0.1.3, FreeBSD: 0.1.3

Modules

Downloads