Home
last modified time | relevance | path

Searched refs:ONE_READER (Results 1 – 2 of 2) sorted by relevance

/oneTBB/include/oneapi/tbb/
H A Dspin_rw_mutex.h106 state_type prev_state = m_state.fetch_add(ONE_READER); in lock_shared()
111 m_state -= ONE_READER; in lock_shared()
123 state_type prev_state = m_state.fetch_add(ONE_READER); in try_lock_shared()
129 m_state -= ONE_READER; in try_lock_shared()
138 m_state -= ONE_READER; in unlock_shared()
153 while ((s & READERS) == ONE_READER || !(s & WRITER_PENDING)) { in upgrade()
156 … while ((m_state.load(std::memory_order_relaxed) & READERS) != ONE_READER) backoff.pause(); in upgrade()
159 m_state -= (ONE_READER + WRITER_PENDING); in upgrade()
172 m_state += (ONE_READER - WRITER); in downgrade()
180 static constexpr state_type ONE_READER = 4; variable
H A Drw_mutex.h117 if (m_state.fetch_add(ONE_READER) & has_writer) { in try_lock_shared()
118 m_state -= ONE_READER; in try_lock_shared()
133 state_type curr_state = (m_state -= ONE_READER); // Returns current state in unlock_shared()
156 while ((s & READERS) == ONE_READER || !(s & WRITER_PENDING)) { in upgrade()
158 …keup_condition = [&] { return (m_state.load(std::memory_order_relaxed) & READERS) == ONE_READER; }; in upgrade()
159 while ((m_state.load(std::memory_order_relaxed) & READERS) != ONE_READER) { in upgrade()
166 m_state -= (ONE_READER + WRITER_PENDING); in upgrade()
180 m_state += (ONE_READER - WRITER); in downgrade()
193 static constexpr state_type ONE_READER = 4; variable