CDataCacheRevision: always need to lock the mutex when accessing m_updateInProgress.

This commit is contained in:
Mathew Sutcliffe
2016-08-02 17:14:14 +01:00
parent 88920501bf
commit e7c9d3b62f

View File

@@ -546,13 +546,16 @@ namespace BlackMisc
void CDataCacheRevision::setTimeToLive(const QString &key, int ttl) 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); m_timesToLive.insert(key, ttl);
} }
void CDataCacheRevision::overrideTimestamp(const QString &key, qint64 timestamp) void CDataCacheRevision::overrideTimestamp(const QString &key, qint64 timestamp)
{ {
QMutexLocker lock(&m_mutex);
Q_ASSERT(! m_updateInProgress); Q_ASSERT(! m_updateInProgress);
Q_ASSERT(! m_lockFile.isLocked()); Q_ASSERT(! m_lockFile.isLocked());
@@ -619,15 +622,17 @@ namespace BlackMisc
void CDataCacheRevision::pinValue(const QString &key) void CDataCacheRevision::pinValue(const QString &key)
{ {
Q_ASSERT(! m_updateInProgress); QMutexLocker lock(&m_mutex);
Q_ASSERT(! m_updateInProgress);
m_pinnedValues.insert(key); m_pinnedValues.insert(key);
} }
void CDataCacheRevision::deferValue(const QString &key) void CDataCacheRevision::deferValue(const QString &key)
{ {
Q_ASSERT(! m_updateInProgress); QMutexLocker lock(&m_mutex);
Q_ASSERT(! m_updateInProgress);
m_deferredValues.insert(key); m_deferredValues.insert(key);
} }