diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/corelib/thread/qmutex.cpp | 17 | ||||
-rw-r--r-- | src/corelib/thread/qmutex_p.h | 12 |
2 files changed, 15 insertions, 14 deletions
diff --git a/src/corelib/thread/qmutex.cpp b/src/corelib/thread/qmutex.cpp index 305074f096..2bf3176787 100644 --- a/src/corelib/thread/qmutex.cpp +++ b/src/corelib/thread/qmutex.cpp @@ -69,6 +69,19 @@ static inline bool isRecursive(QMutexData *d) #endif } +class QRecursiveMutexPrivate : public QMutexData +{ +public: + QRecursiveMutexPrivate() + : QMutexData(QMutex::Recursive), owner(0), count(0) {} + Qt::HANDLE owner; + uint count; + QMutex mutex; + + bool lock(int timeout) QT_MUTEX_LOCK_NOEXCEPT; + void unlock() Q_DECL_NOTHROW; +}; + /* \class QBasicMutex \inmodule QtCore @@ -544,7 +557,7 @@ void QMutexPrivate::derefWaiters(int value) Q_DECL_NOTHROW /*! \internal */ -bool QRecursiveMutexPrivate::lock(int timeout) QT_MUTEX_LOCK_NOEXCEPT +inline bool QRecursiveMutexPrivate::lock(int timeout) QT_MUTEX_LOCK_NOEXCEPT { Qt::HANDLE self = QThread::currentThreadId(); if (owner == self) { @@ -567,7 +580,7 @@ bool QRecursiveMutexPrivate::lock(int timeout) QT_MUTEX_LOCK_NOEXCEPT /*! \internal */ -void QRecursiveMutexPrivate::unlock() Q_DECL_NOTHROW +inline void QRecursiveMutexPrivate::unlock() Q_DECL_NOTHROW { if (count > 0) { count--; diff --git a/src/corelib/thread/qmutex_p.h b/src/corelib/thread/qmutex_p.h index f51dd0e9e3..6d84732751 100644 --- a/src/corelib/thread/qmutex_p.h +++ b/src/corelib/thread/qmutex_p.h @@ -131,18 +131,6 @@ public: }; #endif //QT_LINUX_FUTEX -class QRecursiveMutexPrivate : public QMutexData -{ -public: - QRecursiveMutexPrivate() - : QMutexData(QMutex::Recursive), owner(0), count(0) {} - Qt::HANDLE owner; - uint count; - QMutex mutex; - - bool lock(int timeout) QT_MUTEX_LOCK_NOEXCEPT; - void unlock() Q_DECL_NOTHROW; -}; QT_END_NAMESPACE |