Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
QtDarwinFutex Namespace Reference

Functions

bool futexAvailable ()
 
template<typename Atomic >
uint32_t baseOperation (Atomic &)
 
template<typename Atomic >
int do_wait (Atomic &futex, typename Atomic::Type expectedValue, QDeadlineTimer timer)
 
template<typename Atomic >
void futexWait (Atomic &futex, typename Atomic::Type expectedValue)
 
template<typename Atomic >
bool futexWait (Atomic &futex, typename Atomic::Type expectedValue, QDeadlineTimer timer)
 
template<typename Atomic >
void futexWakeAll (Atomic &futex)
 
template<typename Atomic >
void futexWakeOne (Atomic &futex)
 

Function Documentation

◆ baseOperation()

template<typename Atomic >
uint32_t QtDarwinFutex::baseOperation ( Atomic &  )
inline

Definition at line 87 of file qfutex_mac_p.h.

References UL_COMPARE_AND_WAIT, UL_COMPARE_AND_WAIT64, and ULF_NO_ERRNO.

Referenced by do_wait(), futexWakeAll(), and futexWakeOne().

+ Here is the caller graph for this function:

◆ do_wait()

template<typename Atomic >
int QtDarwinFutex::do_wait ( Atomic &  futex,
typename Atomic::Type  expectedValue,
QDeadlineTimer  timer 
)
inline

Definition at line 100 of file qfutex_mac_p.h.

References baseOperation(), QtTsan::futexAcquire(), QtTsan::futexRelease(), ret, and timer.

Referenced by futexWait(), and futexWait().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ futexAvailable()

bool QtDarwinFutex::futexAvailable ( )
inline

Definition at line 84 of file qfutex_mac_p.h.

◆ futexWait() [1/2]

template<typename Atomic >
void QtDarwinFutex::futexWait ( Atomic &  futex,
typename Atomic::Type  expectedValue 
)
inline

Definition at line 111 of file qfutex_mac_p.h.

References do_wait().

+ Here is the call graph for this function:

◆ futexWait() [2/2]

template<typename Atomic >
bool QtDarwinFutex::futexWait ( Atomic &  futex,
typename Atomic::Type  expectedValue,
QDeadlineTimer  timer 
)
inline

Definition at line 117 of file qfutex_mac_p.h.

References do_wait(), and timer.

+ Here is the call graph for this function:

◆ futexWakeAll()

template<typename Atomic >
void QtDarwinFutex::futexWakeAll ( Atomic &  futex)
inline

Definition at line 123 of file qfutex_mac_p.h.

References baseOperation(), and ULF_WAKE_ALL.

+ Here is the call graph for this function:

◆ futexWakeOne()

template<typename Atomic >
void QtDarwinFutex::futexWakeOne ( Atomic &  futex)
inline

Definition at line 128 of file qfutex_mac_p.h.

References baseOperation().

+ Here is the call graph for this function: