bool synchronize( epoch_retired_ptr& ep )
{
uint64_t nEpoch;
- atomics::atomic_thread_fence( atomics::memory_order_acquire );
{
std::unique_lock<lock_type> sl( m_Lock );
if ( ep.m_p && m_Buffer.push( ep ))
flip_and_wait();
}
clear_buffer( nEpoch );
- atomics::atomic_thread_fence( atomics::memory_order_release );
return true;
}
//@endcond