Tervel
1.0.0
A collection of wait-free containers and algorithms.
|
Class used for placement in the Op Table to complete an operation that failed to complete in a bounded number of steps. More...
#include <descriptor_read_first_op.h>
Public Member Functions | |
ReadFirstOp (std::atomic< void * > *address) | |
~ReadFirstOp () | |
void | help_complete () |
This function overrides the virtual function in the OpRecord class It is called by the progress assurance scheme. More... | |
void * | load () |
Public Member Functions inherited from tervel::util::OpRecord | |
OpRecord () | |
bool | on_watch (std::atomic< void * > *address, void *expected) |
This function is used to achieve a strong watch on an Element. More... | |
bool | on_is_watched () |
This function is used to check a strong watch on an Element. More... | |
void | on_unwatch () |
This function is used to remove a strong watch on an Element. More... | |
Public Member Functions inherited from tervel::util::memory::hp::Element | |
Element () | |
virtual | ~Element () |
void | safe_delete (bool no_check=false, ElementList *const element_list=tervel::tl_thread_info->get_hp_element_list()) |
This function is used to free a hazard pointer protected object if it is safe to do so OR add it to a list to be freed later. More... | |
Private Attributes | |
std::atomic< void * > * | address_ |
std::atomic< void * > | value_ |
Class used for placement in the Op Table to complete an operation that failed to complete in a bounded number of steps.
|
inlineexplicit |
|
inline |
|
virtual |
This function overrides the virtual function in the OpRecord class It is called by the progress assurance scheme.
Implements tervel::util::OpRecord.
void* tervel::util::memory::rc::ReadFirstOp::load | ( | ) |
|
private |
|
private |