Exemplo n.º 1
0
 void unlock ()
 {
     bool expected = true;
     POMAGMA_ASSERT(m_flag.compare_exchange_strong(expected, false),
             "unlock contention");
     store_barrier();
 }
Exemplo n.º 2
0
 void release (PipelineState & state)
 {
     store_barrier();
     if (state.decrement_count() == 1) {
         state.store(state_);
         std::unique_lock<std::mutex> lock(mutex_);
         cond_variable_.notify_all();
     }
 }
Exemplo n.º 3
0
 void unlock () { store_barrier(); }
Exemplo n.º 4
0
 void unlock_shared ()
 {
     --m_count;
     store_barrier();
 }
Exemplo n.º 5
0
 void unlock ()
 {
     ++m_count;
     store_barrier();
 }
Exemplo n.º 6
0
 ~SharedLock () { store_barrier(); }
Exemplo n.º 7
0
 ~UniqueLock () { store_barrier(); }
Exemplo n.º 8
0
 ~Lock () { store_barrier(); }