Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
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: