cds  2.2.0
cds::urcu::dispose_thread< Buffer > Class Template Reference

Reclamation thread for general_threaded and signal_threaded URCU. More...

#include <cds/urcu/dispose_thread.h>

Public Types

typedef Buffer buffer_type
 Buffer type.
 

Public Member Functions

void start ()
 Start reclamation thread. More...
 
void stop (buffer_type &buf, uint64_t nCurEpoch)
 Stop reclamation thread. More...
 
void dispose (buffer_type &buf, uint64_t nCurEpoch, bool bSync)
 Start reclamation cycle. More...
 

Detailed Description

template<class Buffer>
class cds::urcu::dispose_thread< Buffer >

Reclamation thread for general_threaded and signal_threaded URCU.

The object of this class contains a reclamation thread object and necessary synchronization object(s). The object manages reclamation thread and defines a set of messages (i.e. methods) to communicate with the thread.

Template argument Buffer defines the buffer type of general_threaded (or signal_threaded) URCU.

Member Function Documentation

§ dispose()

template<class Buffer >
void cds::urcu::dispose_thread< Buffer >::dispose ( buffer_type buf,
uint64_t  nCurEpoch,
bool  bSync 
)
inline

Start reclamation cycle.

This function is called by general_threaded object to notify the reclamation thread about a new work. buf buffer contains retired objects ready to free. The reclamation thread should free all buf objects m_nEpoch field of which is no more than nCurEpoch.

If bSync parameter is true the calling thread should wait until disposing done.

§ start()

template<class Buffer >
void cds::urcu::dispose_thread< Buffer >::start ( )
inline

Start reclamation thread.

This function is called by general_threaded object to start internal reclamation thread.

§ stop()

template<class Buffer >
void cds::urcu::dispose_thread< Buffer >::stop ( buffer_type buf,
uint64_t  nCurEpoch 
)
inline

Stop reclamation thread.

This function is called by general_threaded object to start reclamation cycle and then to terminate reclamation thread.

buf buffer contains retired objects ready to free.


The documentation for this class was generated from the following file:

cds 2.2.0 Developed by Maxim Khizhinsky aka khizmax 2007 - 2017
Autogenerated Wed Jan 4 2017 08:50:07 by Doxygen 1.8.12