From: Marc Mutz Date: Fri, 24 Aug 2012 07:47:55 +0000 (+0200) Subject: QDBusMetaTypeId: replace a volatile bool with an atomic int X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=7121bcca2d937dfad7ba4bd549a57c74dcbf856b;p=profile%2Fivi%2Fqtbase.git QDBusMetaTypeId: replace a volatile bool with an atomic int Since there is no non-atomic data that is protected by 'initialized' anymore, the read from, and the store to, 'initialized' may now have relaxed memory ordering. Change-Id: I58004e782d9fd93122efb31fa5b30ee160646d99 Reviewed-by: Thiago Macieira --- diff --git a/src/dbus/qdbusmetatype.cpp b/src/dbus/qdbusmetatype.cpp index d8ee0b3..31b57d1 100644 --- a/src/dbus/qdbusmetatype.cpp +++ b/src/dbus/qdbusmetatype.cpp @@ -91,11 +91,11 @@ inline static void registerHelper(T * = 0) void QDBusMetaTypeId::init() { - static volatile bool initialized = false; + static QBasicAtomicInt initialized = Q_BASIC_ATOMIC_INITIALIZER(false); // reentrancy is not a problem since everything else is locked on their own // set the guard variable at the end - if (!initialized) { + if (!initialized.load()) { // register our types with QtCore (calling qMetaTypeId() does this implicitly) (void)message(); (void)argument(); @@ -135,7 +135,7 @@ void QDBusMetaTypeId::init() qDBusRegisterMetaType >(); #endif - initialized = true; + initialized.store(true); } }