Replace platform-dependent barriers with c++11 std

This commit is contained in:
Chris Cannam
2024-03-07 11:50:39 +00:00
parent 5a4e3a8466
commit e5bff67c13
3 changed files with 6 additions and 66 deletions

View File

@@ -238,7 +238,8 @@ RingBuffer<T>::resized(int newSize) const
{
RingBuffer<T> *newBuffer = new RingBuffer<T>(newSize);
MBARRIER();
std::atomic_thread_fence(std::memory_order_seq_cst);
int w = m_writer;
int r = m_reader;
@@ -464,7 +465,8 @@ RingBuffer<T>::write(const S *const R__ source, int n)
w += n;
while (w >= m_size) w -= m_size;
MBARRIER();
std::atomic_thread_fence(std::memory_order_seq_cst);
m_writer = w;
return n;
@@ -498,7 +500,8 @@ RingBuffer<T>::zero(int n)
w += n;
while (w >= m_size) w -= m_size;
MBARRIER();
std::atomic_thread_fence(std::memory_order_seq_cst);
m_writer = w;
return n;