Module lockfree::incin

source ·
Expand description

Incinerator API. The purpouse of this module is to solve the “ABA problem” related to pointers while still being lock-free. See documentation of the inner type for more details.

Structs

The incinerator. It is an API used to solve the infamous ABA problem. It basically consists of a counter and a list of garbage. Before a thread begins a suffering-from-ABA operation, it should start a new pause, and keep the incinerator paused while it is performing the operation.
An active incinerator pause. When a value of this type is alive, no sensitive data is dropped in the incinerator. When a value of this type is dropped, the incinerator counter is decremented.