internal Namespace Reference


Classes

class  SMRListNode
 This class can represents a node inside retired list of SMR, and a node inside the hazard pointer list. More...
class  HPRecType
 This is the class to store hazard point. More...
class  SMRThreadLocal
class  SMR
 SMR way to prevent ABA for lock-free data structrue based on the following paper:. More...

Functions

template<typename TT, int K>
void retireHPRec (void *thr_local)
 This function is used to clean thread-local SMR data.
template<typename T, int K>
SMR< T, K > * getSMR ()
 Factory method to return instance of SMR<T, K>.


Function Documentation

template<typename T, int K>
SMR<T, K>* internal::getSMR (  )  [inline]

Factory method to return instance of SMR<T, K>.

Template Parameters:
Type of node stored inside SMR.
Number of hazard pointers for one thread.
Returns:
A SMR instance with the specified template parameter.

template<typename TT, int K>
void internal::retireHPRec ( void *  thr_local  )  [inline]

This function is used to clean thread-local SMR data.

It won't delete anything from rlist. Other threads should execute helpScan() to deal with this rlist. This method doesn't delete hazard pointer. When another thread is created, it can reuse this Hazard Pointer. When a thread exits, this functio will be called.

Parameters:
thr_local pthread feeds this data pointer to this function. It's of type void * due to pthread is a C-API.


Generated on Tue Dec 9 13:39:40 2008 for Amino by  doxygen 1.5.6