summaryrefslogtreecommitdiffstats
path: root/src/corelib/thread/qmutex.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/thread/qmutex.h')
-rw-r--r--src/corelib/thread/qmutex.h15
1 files changed, 6 insertions, 9 deletions
diff --git a/src/corelib/thread/qmutex.h b/src/corelib/thread/qmutex.h
index e10a3f8f3d..9423585f64 100644
--- a/src/corelib/thread/qmutex.h
+++ b/src/corelib/thread/qmutex.h
@@ -256,7 +256,8 @@ public:
inline ~QMutexLocker()
{
- unlock();
+ if (m_isLocked)
+ unlock();
}
inline bool isLocked() const noexcept
@@ -266,20 +267,16 @@ public:
inline void unlock() noexcept
{
- if (!m_isLocked)
- return;
+ Q_ASSERT(m_isLocked);
m_mutex->unlock();
m_isLocked = false;
}
inline void relock() QT_MUTEX_LOCK_NOEXCEPT
{
- if (m_isLocked)
- return;
- if (m_mutex) {
- m_mutex->lock();
- m_isLocked = true;
- }
+ Q_ASSERT(!m_isLocked);
+ m_mutex->lock();
+ m_isLocked = true;
}
inline void swap(QMutexLocker &other) noexcept