bits-atomic: Atomic bit operations on memory locations for low-level synchronization
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:
GCC manual: http://gcc.gnu.org/onlinedocs/gcc/Atomic-Builtins.html
GCC wiki: http://gcc.gnu.org/wiki/Atomic
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:
0.1.3: Documentation updates, especially on portability. No functional changes.
0.1.2: Avoid using System.FilePath in Setup.hs to fix build failure on hackage
Flags
Automatic Flags
Name | Description | Default |
---|---|---|
test | Build test program. | Disabled |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- bits-atomic-0.1.3.tar.gz [browse] (Cabal source package)
- Package description (as included in the package)
Maintainer's Corner
For package maintainers and hackage trustees
Candidates
- No Candidates
Versions [RSS] | 0.1.0, 0.1.1, 0.1.2, 0.1.3 |
---|---|
Dependencies | base (>=4 && <6), HUnit, QuickCheck, test-framework, test-framework-hunit, test-framework-quickcheck2 [details] |
License | BSD-3-Clause |
Author | Gabriel Wicke <wicke@wikidev.net> |
Maintainer | Gabriel Wicke <wicke@wikidev.net> |
Category | Data, Concurrency, Foreign |
Source repo | head: hg clone http://dev.wikidev.net/hg/bits-atomic/ |
Uploaded | by GabrielWicke at 2010-09-05T07:54:05Z |
Distributions | FreeBSD:0.1.3 |
Reverse Dependencies | 7 direct, 3868 indirect [details] |
Executables | test |
Downloads | 7598 total (22 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs uploaded by user Build status unknown [no reports yet] |