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

Functions

constexpr bool futexAvailable ()
 
int _q_futex (int *addr, int op, int val, quintptr val2=0, int *addr2=nullptr, int val3=0) noexcept
 
template<typename T >
int * addr (T *ptr)
 
template<typename Atomic >
void futexWait (Atomic &futex, typename Atomic::Type expectedValue)
 
template<typename Atomic >
bool futexWait (Atomic &futex, typename Atomic::Type expectedValue, QDeadlineTimer deadline)
 
template<typename Atomic >
void futexWakeOne (Atomic &futex)
 
template<typename Atomic >
void futexWakeAll (Atomic &futex)
 
template<typename Atomic >
void futexWakeOp (Atomic &futex1, int wake1, int wake2, Atomic &futex2, quint32 op)
 

Function Documentation

◆ _q_futex()

int QtLinuxFutex::_q_futex ( int *  addr,
int  op,
int  val,
quintptr  val2 = 0,
int *  addr2 = nullptr,
int  val3 = 0 
)
inlinenoexcept

Definition at line 41 of file qfutex_linux_p.h.

References __NR_futex, QtTsan::futexAcquire(), and QtTsan::futexRelease().

Referenced by futexWait(), futexWait(), futexWakeAll(), futexWakeOne(), and futexWakeOp().

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

◆ addr()

template<typename T >
int * QtLinuxFutex::addr ( T *  ptr)

Definition at line 54 of file qfutex_linux_p.h.

References ptr().

+ Here is the call graph for this function:

◆ futexAvailable()

constexpr bool QtLinuxFutex::futexAvailable ( )
inlineconstexpr

Definition at line 39 of file qfutex_linux_p.h.

◆ futexWait() [1/2]

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

Definition at line 65 of file qfutex_linux_p.h.

References _q_futex().

+ Here is the call graph for this function:

◆ futexWait() [2/2]

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

Definition at line 70 of file qfutex_linux_p.h.

References _q_futex(), QDeadlineTimer::deadline(), deadline, and durationToTimespec().

+ Here is the call graph for this function:

◆ futexWakeAll()

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

Definition at line 82 of file qfutex_linux_p.h.

References _q_futex().

+ Here is the call graph for this function:

◆ futexWakeOne()

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

Definition at line 78 of file qfutex_linux_p.h.

References _q_futex().

+ Here is the call graph for this function:

◆ futexWakeOp()

template<typename Atomic >
void QtLinuxFutex::futexWakeOp ( Atomic &  futex1,
int  wake1,
int  wake2,
Atomic &  futex2,
quint32  op 
)
inline

Definition at line 87 of file qfutex_linux_p.h.

References _q_futex().

+ Here is the call graph for this function: