summaryrefslogtreecommitdiffstats
path: root/src/corelib/thread/qmutex_linux.cpp
diff options
context:
space:
mode:
authorOlivier Goffart <ogoffart@kde.org>2011-10-20 17:11:18 +0200
committerQt by Nokia <qt-info@nokia.com>2011-10-31 12:16:11 +0100
commit73b682d816ec12afbf8064a44e462dd89e4c38df (patch)
tree667bc44e7fce3b618b2ceb3e70b7d087f7bff77b /src/corelib/thread/qmutex_linux.cpp
parent72257f642944a347b806ac34934d0fb8bc472b1c (diff)
QRecursiveMutexPrivate should not inherit from QMutexPrivate
QMutexPrivate takes more memory than necessary, and also initialize platform specific ressources. Change-Id: I70be1b89b1c21499645785ae47693a6b2514e28b Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com>
Diffstat (limited to 'src/corelib/thread/qmutex_linux.cpp')
-rw-r--r--src/corelib/thread/qmutex_linux.cpp13
1 files changed, 4 insertions, 9 deletions
diff --git a/src/corelib/thread/qmutex_linux.cpp b/src/corelib/thread/qmutex_linux.cpp
index 3e5b5f2f0d..18ddd23819 100644
--- a/src/corelib/thread/qmutex_linux.cpp
+++ b/src/corelib/thread/qmutex_linux.cpp
@@ -65,16 +65,11 @@ static inline int _q_futex(void *addr, int op, int val, const struct timespec *t
return syscall(SYS_futex, int_addr, op, val, timeout, addr2, val2);
}
-static inline QMutexPrivate *dummyFutexValue()
+static inline QMutexData *dummyFutexValue()
{
- return reinterpret_cast<QMutexPrivate *>(quintptr(3));
+ return reinterpret_cast<QMutexData *>(quintptr(3));
}
-
-QMutexPrivate::~QMutexPrivate() {}
-QMutexPrivate::QMutexPrivate(QMutex::RecursionMode mode)
- : recursive(mode == QMutex::Recursive) {}
-
bool QBasicMutex::lockInternal(int timeout)
{
QElapsedTimer elapsedTimer;
@@ -82,7 +77,7 @@ bool QBasicMutex::lockInternal(int timeout)
elapsedTimer.start();
while (!fastTryLock()) {
- QMutexPrivate *d = d_ptr.load();
+ QMutexData *d = d_ptr.load();
if (!d) // if d is 0, the mutex is unlocked
continue;
@@ -118,7 +113,7 @@ bool QBasicMutex::lockInternal(int timeout)
void QBasicMutex::unlockInternal()
{
- QMutexPrivate *d = d_ptr.load();
+ QMutexData *d = d_ptr.load();
Q_ASSERT(d); //we must be locked
Q_ASSERT(d != dummyLocked()); // testAndSetRelease(dummyLocked(), 0) failed