summaryrefslogtreecommitdiffstats
path: root/src/corelib
diff options
context:
space:
mode:
authorThiago Macieira <thiago.macieira@intel.com>2022-06-17 23:05:09 -0700
committerQt Cherry-pick Bot <cherrypick_bot@qt-project.org>2022-06-18 18:43:34 +0000
commit4afbbfdfded15f40189fbfd4368bd26106f69ede (patch)
tree1c59bc981d301a9edc9c4a1c3c14bb6d830a2936 /src/corelib
parent3cb900a18f51d0715d893a62e26701a4484ecfe8 (diff)
QMetaType: use explicit load/store operations on QBasicAtomicInt
QBasicAtomicInt::operator int() does loadAcquire() and operator=() does storeRelease(). Change-Id: Id0fb9ab0089845ee8843fffd16f9a1ece6823777 Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io> (cherry picked from commit 4c1b1f2ad884455bdebc779b6dcab5dd3815a9c9) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
Diffstat (limited to 'src/corelib')
-rw-r--r--src/corelib/kernel/qmetatype.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/corelib/kernel/qmetatype.cpp b/src/corelib/kernel/qmetatype.cpp
index 58a8ed98e9..c78ef4c916 100644
--- a/src/corelib/kernel/qmetatype.cpp
+++ b/src/corelib/kernel/qmetatype.cpp
@@ -79,8 +79,8 @@ struct QMetaTypeCustomRegistry
{
{
QWriteLocker l(&lock);
- if (ti->typeId)
- return ti->typeId;
+ if (int id = ti->typeId.loadRelaxed())
+ return id;
QByteArray name =
#ifndef QT_NO_QOBJECT
QMetaObject::normalizedType
@@ -101,11 +101,11 @@ struct QMetaTypeCustomRegistry
registry.append(ti);
firstEmpty = registry.size();
}
- ti->typeId = firstEmpty + QMetaType::User;
+ ti->typeId.storeRelaxed(firstEmpty + QMetaType::User);
}
if (ti->legacyRegisterOp)
ti->legacyRegisterOp();
- return ti->typeId;
+ return ti->typeId.loadRelaxed();
};
void unregisterDynamicType(int id)