@hackage atomic-primops0.4
A safe approach to CAS and other atomic ops in Haskell.
Deprecated
Dependencies (5)
Dependents (37)
@hackage/timer-wheel, @hackage/warp, @hackage/fb-util, @hackage/scheduler, @hackage/dejafu, @hackage/kazura-queue, Show all…
Package Flags
debug
(off by default)
Enable extra internal checks.
After GHC 7.4 a new casMutVar# primop became available, but it's
difficult to use safely, because pointer equality is a highly
unstable property in Haskell. This library provides a safer method
based on the concept of Tickets.
Also, this library uses the "foreign primop" capability of GHC to add access to other variants that may be of interest, specifically, compare and swap inside an array.
Changes in 0.3:
Major internal change. Duplicate the barrier code from the GHC RTS and thus enable support for executables that are NOT built with '-threaded'.
Changes in 0.4:
Further internal changes, duplicate
casroutine well as barriers.Add
fetchAddByteArrayIntAdd an
Unboxedcounter variant that uses movableByteArrays on the GHC heap.