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
QMutexPrivate Class Reference

#include <qmutex_p.h>

+ Collaboration diagram for QMutexPrivate:

Public Types

enum  { BigNumber = 0x100000 }
 

Public Member Functions

 ~QMutexPrivate ()
 
 QMutexPrivate ()
 
bool wait (QDeadlineTimer timeout=QDeadlineTimer::Forever)
 
void wakeUp () noexcept
 
bool ref ()
 
void deref ()
 
void release ()
 
void derefWaiters (int value) noexcept
 

Static Public Member Functions

static QMutexPrivateallocate ()
 

Public Attributes

QAtomicInt refCount
 
int id
 
QAtomicInt waiters
 
QAtomicInt possiblyUnlocked
 

Detailed Description

Definition at line 40 of file qmutex_p.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
BigNumber 

Definition at line 81 of file qmutex_p.h.

Constructor & Destructor Documentation

◆ ~QMutexPrivate()

QMutexPrivate::~QMutexPrivate ( )

Definition at line 24 of file qmutex_mac.cpp.

References qWarning.

◆ QMutexPrivate()

QMutexPrivate::QMutexPrivate ( )

Definition at line 17 of file qmutex_mac.cpp.

References qWarning.

Member Function Documentation

◆ allocate()

QMutexPrivate * QMutexPrivate::allocate ( )
static

Definition at line 873 of file qmutex.cpp.

References d, i, id, and Q_ASSERT.

◆ deref()

void QMutexPrivate::deref ( )
inline

Definition at line 65 of file qmutex_p.h.

References QBasicAtomicInteger< T >::deref(), QBasicAtomicInteger< T >::loadRelaxed(), Q_ASSERT, refCount, and release().

+ Here is the call graph for this function:

◆ derefWaiters()

void QMutexPrivate::derefWaiters ( int value)
noexcept

Definition at line 894 of file qmutex.cpp.

References BigNumber.

◆ ref()

bool QMutexPrivate::ref ( )
inline

Definition at line 53 of file qmutex_p.h.

References QBasicAtomicInteger< T >::loadRelaxed(), Q_ASSERT, refCount, and QBasicAtomicInteger< T >::testAndSetRelaxed().

+ Here is the call graph for this function:

◆ release()

void QMutexPrivate::release ( )

Definition at line 885 of file qmutex.cpp.

References QBasicAtomicInteger< T >::loadRelaxed(), possiblyUnlocked, Q_ASSERT, refCount, and waiters.

Referenced by deref().

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

◆ wait()

bool QMutexPrivate::wait ( QDeadlineTimer timeout = QDeadlineTimer::Forever)

Definition at line 31 of file qmutex_mac.cpp.

References durationToTimespec(), and Q_ASSERT.

+ Here is the call graph for this function:

◆ wakeUp()

void QMutexPrivate::wakeUp ( )
noexcept

Definition at line 49 of file qmutex_mac.cpp.

Member Data Documentation

◆ id

int QMutexPrivate::id

Definition at line 51 of file qmutex_p.h.

Referenced by allocate().

◆ possiblyUnlocked

QAtomicInt QMutexPrivate::possiblyUnlocked

Definition at line 76 of file qmutex_p.h.

Referenced by release().

◆ refCount

QAtomicInt QMutexPrivate::refCount

Definition at line 50 of file qmutex_p.h.

Referenced by deref(), ref(), and release().

◆ waiters

QAtomicInt QMutexPrivate::waiters

Definition at line 75 of file qmutex_p.h.

Referenced by release().


The documentation for this class was generated from the following files: