Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
QtLinuxFutex Namespace Reference

Functions

constexpr bool futexAvailable ()
long _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()

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

Definition at line 42 of file qfutex_linux_p.h.

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

Here is the call graph for this function:

◆ addr()

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

Definition at line 55 of file qfutex_linux_p.h.

◆ futexAvailable()

bool QtLinuxFutex::futexAvailable ( )
inlineconstexpr

Definition at line 40 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 66 of file qfutex_linux_p.h.

◆ futexWait() [2/2]

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

Definition at line 71 of file qfutex_linux_p.h.

◆ futexWakeAll()

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

Definition at line 83 of file qfutex_linux_p.h.

◆ futexWakeOne()

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

Definition at line 79 of file qfutex_linux_p.h.

◆ futexWakeOp()

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

Definition at line 88 of file qfutex_linux_p.h.