summaryrefslogtreecommitdiffstats
path: root/src/network/kernel/qdnslookup_unix.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/network/kernel/qdnslookup_unix.cpp')
-rw-r--r--src/network/kernel/qdnslookup_unix.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/network/kernel/qdnslookup_unix.cpp b/src/network/kernel/qdnslookup_unix.cpp
index 300f99d232..1b8f66b275 100644
--- a/src/network/kernel/qdnslookup_unix.cpp
+++ b/src/network/kernel/qdnslookup_unix.cpp
@@ -107,12 +107,12 @@ static void resolveLibrary()
void QDnsLookupRunnable::query(const int requestType, const QByteArray &requestName, QDnsLookupReply *reply)
{
// Load dn_expand, res_ninit and res_nquery on demand.
- static volatile bool triedResolve = false;
- if (!triedResolve) {
+ static QBasicAtomicInt triedResolve = Q_BASIC_ATOMIC_INITIALIZER(false);
+ if (!triedResolve.loadAcquire()) {
QMutexLocker locker(QMutexPool::globalInstanceGet(&local_res_ninit));
- if (!triedResolve) {
+ if (!triedResolve.load()) {
resolveLibrary();
- triedResolve = true;
+ triedResolve.storeRelease(true);
}
}