/// Waits to finish a grace period
void synchronize()
{
- atomics::atomic_thread_fence( atomics::memory_order_acquire );
- {
- std::unique_lock<lock_type> sl( m_Lock );
- flip_and_wait();
- flip_and_wait();
- }
- atomics::atomic_thread_fence( atomics::memory_order_release );
+ std::unique_lock<lock_type> sl( m_Lock );
+ flip_and_wait();
+ flip_and_wait();
}
//@cond
/// User-space general-purpose RCU with deferred buffered reclamation
/** @anchor cds_urcu_general_buffered_gc
- This is a wrapper around general_buffered class used for metaprogramming.
+ This is a wrapper around \p general_buffered class.
Template arguments:
- \p Buffer - lock-free queue or lock-free bounded queue.
- Default is cds::container::VyukovMPMCCycleQueue< retired_ptr >
+ Default is \p cds::container::VyukovMPMCCycleQueue< retired_ptr >
- \p Lock - mutex type, default is \p std::mutex
- - \p Backoff - back-off schema, default is cds::backoff::Default
+ - \p Backoff - back-off schema, default is \p cds::backoff::Default
*/
template <
#ifdef CDS_DOXGEN_INVOKED
/// User-space general-purpose RCU with immediate reclamation
/** @anchor cds_urcu_general_instant_gc
- This is a wrapper around general_instant class used for metaprogramming.
+ This is a wrapper around \p general_instant class.
Template arguments:
- \p Lock - mutex type, default is \p std::mutex
- - \p Backoff - back-off schema, default is cds::backoff::Default
+ - \p Backoff - back-off schema, default is \p cds::backoff::Default
*/
template <
#ifdef CDS_DOXGEN_INVOKED
/// User-space general-purpose RCU with special thread for deferred reclamation
/** @anchor cds_urcu_general_threaded_gc
- This is a wrapper around general_threaded class used for metaprogramming.
+ This is a wrapper around \p general_threaded class.
Template arguments:
- \p Buffer - lock-free queue or lock-free bounded queue.
- Default is cds::container::VyukovMPMCCycleQueue< retired_ptr >
+ Default is \p cds::container::VyukovMPMCCycleQueue< retired_ptr >
- \p Lock - mutex type, default is \p std::mutex
- \p DisposerThread - reclamation thread class, default is \p cds::urcu::dispose_thread
See \ref cds::urcu::dispose_thread for class interface.
- - \p Backoff - back-off schema, default is cds::backoff::Default
+ - \p Backoff - back-off schema, default is \p cds::backoff::Default
*/
template <
/// User-space signal-handled RCU with deferred buffered reclamation
/** @anchor cds_urcu_signal_buffered_gc
- This is a wrapper around signal_buffered class used for metaprogramming.
+ This is a wrapper around \p signal_buffered class.
Template arguments:
- \p Buffer - lock-free queue or lock-free bounded queue.
- Default is cds::container::VyukovMPMCCycleQueue< retired_ptr >
+ Default is \p cds::container::VyukovMPMCCycleQueue< retired_ptr >
- \p Lock - mutex type, default is \p std::mutex
- - \p Backoff - back-off schema, default is cds::backoff::Default
+ - \p Backoff - back-off schema, default is \p cds::backoff::Default
*/
template <
#ifdef CDS_DOXGEN_INVOKED
/// User-space signal-handled RCU with special thread for deferred reclamation
/** @anchor cds_urcu_signal_threaded_gc
- This is a wrapper around signal_threaded class used for metaprogramming.
+ This is a wrapper around \p signal_threaded class.
Template arguments:
- \p Buffer - lock-free queue or lock-free bounded queue.
- Default is cds::container::VyukovMPMCCycleQueue< retired_ptr >
+ Default is \p cds::container::VyukovMPMCCycleQueue< retired_ptr >
- \p Lock - mutex type, default is \p std::mutex
- \p DisposerThread - reclamation thread class, default is \p %general_threaded_dispose_thread
See \ref cds::urcu::dispose_thread for class interface.
- - \p Backoff - back-off schema, default is cds::backoff::Default
+ - \p Backoff - back-off schema, default is \p cds::backoff::Default
*/
template <