22#ifndef BOOST_FAIRNESS_WAIT_POOL_HPP
23#define BOOST_FAIRNESS_WAIT_POOL_HPP
31 static constexpr uint32_t wait_flag = 0;
32 static constexpr uint32_t proceed_flag = 1;
38 inline void store(uint32_t
const waitStatus){
50#ifdef BOOST_FAIRNESS_USE_STD_WAIT_NOTIFY
53 return waitMems_[n].waitMem;
59 waitMems_[i].store(wait_flag);
60 waitMems_[p].store(proceed_flag);
64#ifdef BOOST_FAIRNESS_USE_STD_WAIT_NOTIFY
65 std::array<std::atomic<uint32_t>, N> waitMems_{};
67 std::array<waitingFlag, N> waitMems_{};
Definition wait_pool.hpp:45
std::atomic< uint32_t > & operator[](size_t n)
Definition wait_pool.hpp:49
void reset_(Priority_t p)
Definition wait_pool.hpp:57
This file contains configurations about boost and 128bit cpu support. TODO.
#define BOOST_FAIRNESS_HARDWARE_DESTRUCTIVE_SIZE
Size to be aligned to avoid false sharing
Definition config.hpp:85
Definition coherent_priority_lock.hpp:25
uint8_t Priority_t
Definition priority_t.hpp:17
Definition wait_pool.hpp:34
void store(uint32_t const waitStatus)
Definition wait_pool.hpp:38
std::atomic< uint32_t > waitMem
Definition wait_pool.hpp:35