From 73b682d816ec12afbf8064a44e462dd89e4c38df Mon Sep 17 00:00:00 2001 From: Olivier Goffart Date: Thu, 20 Oct 2011 17:11:18 +0200 Subject: 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 --- src/corelib/thread/qmutex_linux.cpp | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) (limited to 'src/corelib/thread/qmutex_linux.cpp') 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(quintptr(3)); + return reinterpret_cast(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 -- cgit v1.2.3