From e7c9d3b62f9f2a8bd363df27cb6bf92f36923059 Mon Sep 17 00:00:00 2001 From: Mathew Sutcliffe Date: Tue, 2 Aug 2016 17:14:14 +0100 Subject: [PATCH] CDataCacheRevision: always need to lock the mutex when accessing m_updateInProgress. --- src/blackmisc/datacache.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/blackmisc/datacache.cpp b/src/blackmisc/datacache.cpp index def699dd6..69902a762 100644 --- a/src/blackmisc/datacache.cpp +++ b/src/blackmisc/datacache.cpp @@ -546,13 +546,16 @@ namespace BlackMisc void CDataCacheRevision::setTimeToLive(const QString &key, int ttl) { - Q_ASSERT(! m_updateInProgress); + QMutexLocker lock(&m_mutex); + Q_ASSERT(! m_updateInProgress); m_timesToLive.insert(key, ttl); } void CDataCacheRevision::overrideTimestamp(const QString &key, qint64 timestamp) { + QMutexLocker lock(&m_mutex); + Q_ASSERT(! m_updateInProgress); Q_ASSERT(! m_lockFile.isLocked()); @@ -619,15 +622,17 @@ namespace BlackMisc void CDataCacheRevision::pinValue(const QString &key) { - Q_ASSERT(! m_updateInProgress); + QMutexLocker lock(&m_mutex); + Q_ASSERT(! m_updateInProgress); m_pinnedValues.insert(key); } void CDataCacheRevision::deferValue(const QString &key) { - Q_ASSERT(! m_updateInProgress); + QMutexLocker lock(&m_mutex); + Q_ASSERT(! m_updateInProgress); m_deferredValues.insert(key); }