diff options
Diffstat (limited to 'tests/auto/core/listresourcesmanager/tst_listresourcesmanager.cpp')
-rw-r--r-- | tests/auto/core/listresourcesmanager/tst_listresourcesmanager.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/tests/auto/core/listresourcesmanager/tst_listresourcesmanager.cpp b/tests/auto/core/listresourcesmanager/tst_listresourcesmanager.cpp index b5bee9b88..abf695093 100644 --- a/tests/auto/core/listresourcesmanager/tst_listresourcesmanager.cpp +++ b/tests/auto/core/listresourcesmanager/tst_listresourcesmanager.cpp @@ -71,7 +71,7 @@ public: tst_ListResource() : m_value(0) {} - int m_value; + QAtomicInt m_value; }; typedef Qt3D::QHandle<tst_ListResource> tHandle; @@ -298,8 +298,7 @@ protected: tst_ListResource *r = m_manager->getOrCreateResource(i); i++; QVERIFY(r != Q_NULLPTR); - Manager::WriteLocker lock(m_manager); - r->m_value++; + r->m_value.fetchAndAddOrdered(+1); } qDebug() << QThread::currentThread() << "Done"; } @@ -371,9 +370,8 @@ protected: while (i < max) { tst_ListResource *r = m_manager->getOrCreateResource(i); QVERIFY(r != Q_NULLPTR); - Manager::WriteLocker lock(m_manager); - r->m_value++; - if (r->m_value > m_releaseAbove) + int oldValue = r->m_value.fetchAndAddOrdered(+1); + if (oldValue == m_releaseAbove) m_manager->releaseResource(i); i++; } |