summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/corelib/thread/qmutex.cpp17
-rw-r--r--src/corelib/thread/qmutex_p.h12
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