Home
last modified time | relevance | path

Searched refs:wakeup_condition (Results 1 – 4 of 4) sorted by relevance

/oneTBB/include/oneapi/tbb/detail/
H A D_waitable_atomic.h26 …TBB_EXPORTED_FUNC wait_on_address(void* address, d1::delegate_base& wakeup_condition, std::uintptr…
35 void adaptive_wait_on_address(void* address, Predicate wakeup_condition, std::uintptr_t context) { in adaptive_wait_on_address() argument
36 if (!timed_spin_wait_until(wakeup_condition)) { in adaptive_wait_on_address()
37 d1::delegated_function<Predicate> pred(wakeup_condition); in adaptive_wait_on_address()
61 auto wakeup_condition = [&] { return my_atomic.load(order) != old; }; in wait()
62 if (!timed_spin_wait_until(wakeup_condition)) { in wait()
65 d1::delegated_function<decltype(wakeup_condition)> pred(wakeup_condition); in wait()
68 } while (!wakeup_condition()); in wait()
/oneTBB/src/tbb/
H A Dwaiters.h114 void sleep(std::uintptr_t uniq_tag, Pred wakeup_condition) { in sleep() argument
115 …_arena.get_waiting_threads_monitor().wait<thread_control_monitor::thread_context>(wakeup_condition, in sleep()
140 … auto wakeup_condition = [&] { return !my_arena.is_empty() || !my_wait_ctx.continue_execution(); }; in pause()
142 sleep(std::uintptr_t(&my_wait_ctx), wakeup_condition); in pause()
176 …auto wakeup_condition = [&] { return !my_arena.is_empty() || sp->m_is_owner_recalled.load(std::mem… in pause()
178 sleep(std::uintptr_t(sp), wakeup_condition); in pause()
H A Dconcurrent_monitor_mutex.h47 auto wakeup_condition = [&] { in lock()
52 if (!timed_spin_wait_until(wakeup_condition)) { in lock()
54 while (!wakeup_condition()) { in lock()
/oneTBB/include/oneapi/tbb/
H A Drw_mutex.h62 … auto wakeup_condition = [&] { return !(m_state.load(std::memory_order_relaxed) & BUSY); }; in lock()
63 adaptive_wait_on_address(this, wakeup_condition, WRITER_CONTEXT); in lock()
104 … auto wakeup_condition = [&] { return !(m_state.load(std::memory_order_relaxed) & has_writer); }; in lock_shared()
105 adaptive_wait_on_address(this, wakeup_condition, READER_CONTEXT); in lock_shared()
158 …auto wakeup_condition = [&] { return (m_state.load(std::memory_order_relaxed) & READERS) == ONE_RE… in upgrade()
160 adaptive_wait_on_address(this, wakeup_condition, WRITER_CONTEXT); in upgrade()