|
Rex Dieter |
adf30a |
From 8a113985cda1693c8158916065bd54e57d028cda Mon Sep 17 00:00:00 2001
|
|
Rex Dieter |
adf30a |
From: Milian Wolff <mail@milianw.de>
|
|
Rex Dieter |
adf30a |
Date: Mon, 1 Dec 2014 11:39:33 +0100
|
|
Rex Dieter |
adf30a |
Subject: [PATCH 16/30] Use an QAtomicInt instead of a plain bool for
|
|
Rex Dieter |
adf30a |
Entity::cacheEnabled.
|
|
Rex Dieter |
adf30a |
|
|
Rex Dieter |
adf30a |
A plain bool is not thread safe and leads to undefined behavior.
|
|
Rex Dieter |
adf30a |
So better be safe than sorry and use a thread safe QAtomicInt.
|
|
Rex Dieter |
adf30a |
---
|
|
Rex Dieter |
adf30a |
server/src/storage/entities-source.xsl | 4 ++--
|
|
Rex Dieter |
adf30a |
1 file changed, 2 insertions(+), 2 deletions(-)
|
|
Rex Dieter |
adf30a |
|
|
Rex Dieter |
adf30a |
diff --git a/server/src/storage/entities-source.xsl b/server/src/storage/entities-source.xsl
|
|
Rex Dieter |
adf30a |
index 05a8cb1..e398da5 100644
|
|
Rex Dieter |
adf30a |
--- a/server/src/storage/entities-source.xsl
|
|
Rex Dieter |
adf30a |
+++ b/server/src/storage/entities-source.xsl
|
|
Rex Dieter |
adf30a |
@@ -99,7 +99,7 @@ class <xsl:value-of select="$className"/>::Private : public QSharedData
|
|
Rex Dieter |
adf30a |
static void addToCache( const <xsl:value-of select="$className"/> & entry );
|
|
Rex Dieter |
adf30a |
|
|
Rex Dieter |
adf30a |
// cache
|
|
Rex Dieter |
adf30a |
- static bool cacheEnabled;
|
|
Rex Dieter |
adf30a |
+ static QAtomicInt cacheEnabled;
|
|
Rex Dieter |
adf30a |
static QMutex cacheMutex;
|
|
Rex Dieter |
adf30a |
<xsl:if test="column[@name = 'id']">
|
|
Rex Dieter |
adf30a |
static QHash<qint64, <xsl:value-of select="$className"/> > idCache;
|
|
Rex Dieter |
adf30a |
@@ -111,7 +111,7 @@ class <xsl:value-of select="$className"/>::Private : public QSharedData
|
|
Rex Dieter |
adf30a |
|
|
Rex Dieter |
adf30a |
|
|
Rex Dieter |
adf30a |
// static members
|
|
Rex Dieter |
adf30a |
-bool <xsl:value-of select="$className"/>::Private::cacheEnabled = false;
|
|
Rex Dieter |
adf30a |
+QAtomicInt <xsl:value-of select="$className"/>::Private::cacheEnabled(0);
|
|
Rex Dieter |
adf30a |
QMutex <xsl:value-of select="$className"/>::Private::cacheMutex;
|
|
Rex Dieter |
adf30a |
<xsl:if test="column[@name = 'id']">
|
|
Rex Dieter |
adf30a |
QHash<qint64, <xsl:value-of select="$className"/> > <xsl:value-of select="$className"/>::Private::idCache;
|
|
Rex Dieter |
adf30a |
--
|
|
Rex Dieter |
adf30a |
2.1.0
|
|
Rex Dieter |
adf30a |
|