#include <kmp_wait_release.h>
template<typename PtrType, flag_type FlagType, bool Sleepable>
class kmp_flag_atomic< PtrType, FlagType, Sleepable >
Base class for wait/release atomic flag
Definition at line 234 of file kmp_wait_release.h.
◆ done_check()
template<typename PtrType, flag_type FlagType, bool Sleepable>
◆ done_check_val()
template<typename PtrType, flag_type FlagType, bool Sleepable>
bool kmp_flag_atomic< PtrType, FlagType, Sleepable >::done_check_val |
( |
PtrType |
old_loc | ) |
|
|
inline |
- Parameters
-
old_loc | in old value of flag |
- Returns
- true if the flag's old value indicates it was released.
Definition at line 269 of file kmp_wait_release.h.
◆ get()
template<typename PtrType, flag_type FlagType, bool Sleepable>
std::atomic<PtrType>* kmp_flag_atomic< PtrType, FlagType, Sleepable >::get |
( |
| ) |
|
|
inline |
◆ get_void_p()
template<typename PtrType, flag_type FlagType, bool Sleepable>
◆ internal_release()
template<typename PtrType, flag_type FlagType, bool Sleepable>
- Returns
- Actual flag value before release was applied. Trigger all waiting threads to run by modifying flag to release state.
Definition at line 278 of file kmp_wait_release.h.
◆ is_sleeping()
template<typename PtrType, flag_type FlagType, bool Sleepable>
◆ is_sleeping_val()
template<typename PtrType, flag_type FlagType, bool Sleepable>
bool kmp_flag_atomic< PtrType, FlagType, Sleepable >::is_sleeping_val |
( |
PtrType |
old_loc | ) |
|
|
inline |
- Parameters
-
old_loc | in old value of flag Test whether there are threads sleeping on flag's old value in old_loc. |
Definition at line 301 of file kmp_wait_release.h.
◆ load()
template<typename PtrType, flag_type FlagType, bool Sleepable>
◆ notdone_check()
template<typename PtrType, flag_type FlagType, bool Sleepable>
- Returns
- true if the flag object is not yet released. Used in __kmp_wait_template like:
while (flag.notdone_check()) { pause(); }
Definition at line 275 of file kmp_wait_release.h.
◆ set()
template<typename PtrType, flag_type FlagType, bool Sleepable>
void kmp_flag_atomic< PtrType, FlagType, Sleepable >::set |
( |
std::atomic< PtrType > * |
new_loc | ) |
|
|
inline |
◆ set_sleeping()
template<typename PtrType, flag_type FlagType, bool Sleepable>
- Returns
- Actual flag value before sleep bit(s) set. Notes that there is at least one thread sleeping on the flag by setting sleep bit(s).
Definition at line 282 of file kmp_wait_release.h.
◆ store()
template<typename PtrType, flag_type FlagType, bool Sleepable>
◆ unset_sleeping()
template<typename PtrType, flag_type FlagType, bool Sleepable>
- Returns
- Actual flag value before sleep bit(s) cleared. Notes that there are no longer threads sleeping on the flag by clearing sleep bit(s).
Definition at line 292 of file kmp_wait_release.h.
◆ checker
template<typename PtrType, flag_type FlagType, bool Sleepable>
◆ loc
template<typename PtrType, flag_type FlagType, bool Sleepable>
The documentation for this class was generated from the following file: