Small optimisation to recursive mutexes
A recursive mutex operates on top of a non-recursive mutex. Therefore, we can bypass the test for recursive. The end result is simply that the compiler can inline the locking and unlocking a little better inside the lock() and unlock() functions Change-Id: Ic06d1344ccd411c22cbdef74536f3a4d368d75d7 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
This commit is contained in:
parent
8e7b86de2c
commit
3717802653
@ -520,7 +520,7 @@ bool QRecursiveMutexPrivate::lock(int timeout) QT_MUTEX_LOCK_NOEXCEPT
|
||||
}
|
||||
bool success = true;
|
||||
if (timeout == -1) {
|
||||
mutex.lock();
|
||||
mutex.QBasicMutex::lock();
|
||||
} else {
|
||||
success = mutex.tryLock(timeout);
|
||||
}
|
||||
@ -539,7 +539,7 @@ void QRecursiveMutexPrivate::unlock() Q_DECL_NOTHROW
|
||||
count--;
|
||||
} else {
|
||||
owner = 0;
|
||||
mutex.unlock();
|
||||
mutex.QBasicMutex::unlock();
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user