]>
Commit | Line | Data |
---|---|---|
8a8f9fb3 AM |
1 | From 8a113985cda1693c8158916065bd54e57d028cda Mon Sep 17 00:00:00 2001 |
2 | From: Milian Wolff <mail@milianw.de> | |
3 | Date: Mon, 1 Dec 2014 11:39:33 +0100 | |
4 | Subject: [PATCH 16/30] Use an QAtomicInt instead of a plain bool for | |
5 | Entity::cacheEnabled. | |
6 | ||
7 | A plain bool is not thread safe and leads to undefined behavior. | |
8 | So better be safe than sorry and use a thread safe QAtomicInt. | |
9 | --- | |
10 | server/src/storage/entities-source.xsl | 4 ++-- | |
11 | 1 file changed, 2 insertions(+), 2 deletions(-) | |
12 | ||
13 | diff --git a/server/src/storage/entities-source.xsl b/server/src/storage/entities-source.xsl | |
14 | index 05a8cb1..e398da5 100644 | |
15 | --- a/server/src/storage/entities-source.xsl | |
16 | +++ b/server/src/storage/entities-source.xsl | |
17 | @@ -99,7 +99,7 @@ class <xsl:value-of select="$className"/>::Private : public QSharedData | |
18 | static void addToCache( const <xsl:value-of select="$className"/> & entry ); | |
19 | ||
20 | // cache | |
21 | - static bool cacheEnabled; | |
22 | + static QAtomicInt cacheEnabled; | |
23 | static QMutex cacheMutex; | |
24 | <xsl:if test="column[@name = 'id']"> | |
25 | static QHash<qint64, <xsl:value-of select="$className"/> > idCache; | |
26 | @@ -111,7 +111,7 @@ class <xsl:value-of select="$className"/>::Private : public QSharedData | |
27 | ||
28 | ||
29 | // static members | |
30 | -bool <xsl:value-of select="$className"/>::Private::cacheEnabled = false; | |
31 | +QAtomicInt <xsl:value-of select="$className"/>::Private::cacheEnabled(0); | |
32 | QMutex <xsl:value-of select="$className"/>::Private::cacheMutex; | |
33 | <xsl:if test="column[@name = 'id']"> | |
34 | QHash<qint64, <xsl:value-of select="$className"/> > <xsl:value-of select="$className"/>::Private::idCache; | |
35 | -- | |
36 | 2.1.0 | |
37 |