Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qreadwritelock.cpp File Reference
#include "qplatformdefs.h"
#include "qreadwritelock.h"
#include "qthread.h"
#include "qreadwritelock_p.h"
#include "qelapsedtimer.h"
#include "private/qfreelist_p.h"
#include "private/qlocking_p.h"
#include <algorithm>
+ Include dependency graph for qreadwritelock.cpp:

Go to the source code of this file.

Functions

static bool contendedTryLockForRead (QAtomicPointer< QReadWriteLockPrivate > &d_ptr, QDeadlineTimer timeout, QReadWriteLockPrivate *d)
 
static bool contendedTryLockForWrite (QAtomicPointer< QReadWriteLockPrivate > &d_ptr, QDeadlineTimer timeout, QReadWriteLockPrivate *d)
 
static auto handleEquals (Qt::HANDLE handle)
 

Function Documentation

◆ contendedTryLockForRead()

static Q_NEVER_INLINE bool contendedTryLockForRead ( QAtomicPointer< QReadWriteLockPrivate > &  d_ptr,
QDeadlineTimer  timeout,
QReadWriteLockPrivate d 
)
static

◆ contendedTryLockForWrite()

static Q_NEVER_INLINE bool contendedTryLockForWrite ( QAtomicPointer< QReadWriteLockPrivate > &  d_ptr,
QDeadlineTimer  timeout,
QReadWriteLockPrivate d 
)
static

Definition at line 309 of file qreadwritelock.cpp.

References QReadWriteLockPrivate::allocate(), d, QBasicAtomicPointer< X >::loadAcquire(), QBasicAtomicPointer< X >::loadRelaxed(), lock, Q_ASSERT, QBasicAtomicPointer< X >::testAndSetAcquire(), and QBasicAtomicPointer< X >::testAndSetOrdered().

+ Here is the call graph for this function:

◆ handleEquals()

static auto handleEquals ( Qt::HANDLE  handle)
static

Definition at line 473 of file qreadwritelock.cpp.

Referenced by QReadWriteLockPrivate::recursiveLockForRead(), and QReadWriteLockPrivate::recursiveUnlock().

+ Here is the caller graph for this function: