[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: [kdelibs/KDE/4.9] solid/solid/backends/udisks: use SOLID_GLOBAL_STATIC for the mutex
From: Lukas Tinkl <lukas () kde ! org>
Date: 2012-09-19 8:11:59
Message-ID: 20120919081159.05C1AA6094 () git ! kde ! org
[Download RAW message or body]
Git commit c62993b22ac7983db0c7b37f83e50999b699dfa0 by Lukas Tinkl.
Committed on 19/09/2012 at 10:10.
Pushed by lukas into branch 'KDE/4.9'.
use SOLID_GLOBAL_STATIC for the mutex
CCBUG: 264487
M +10 -10 solid/solid/backends/udisks/udisksopticaldisc.cpp
http://commits.kde.org/kdelibs/c62993b22ac7983db0c7b37f83e50999b699dfa0
diff --git a/solid/solid/backends/udisks/udisksopticaldisc.cpp \
b/solid/solid/backends/udisks/udisksopticaldisc.cpp index e50f188..8eb3588 100644
--- a/solid/solid/backends/udisks/udisksopticaldisc.cpp
+++ b/solid/solid/backends/udisks/udisksopticaldisc.cpp
@@ -29,11 +29,11 @@
#include <QtCore/QMutexLocker>
#include "udisksopticaldisc.h"
+#include "soliddefs_p.h"
-namespace {
- QMap<QString, Solid::OpticalDisc::ContentTypes> cache;
- QMutex cacheLock;
-}
+typedef QMap<QString, Solid::OpticalDisc::ContentTypes> ContentTypesCache;
+SOLID_GLOBAL_STATIC(ContentTypesCache, cache)
+SOLID_GLOBAL_STATIC(QMutex, cacheLock)
// inspired by http://cgit.freedesktop.org/hal/tree/hald/linux/probing/probe-volume.c
static Solid::OpticalDisc::ContentType advancedDiscDetect(const QString & \
device_file) @@ -241,12 +241,12 @@ Solid::OpticalDisc::ContentTypes \
OpticalDisc::availableContent() const }
if (m_needsReprobe) {
- QMutexLocker lock(&cacheLock);
+ QMutexLocker lock(cacheLock);
QString deviceFile = m_device->prop("DeviceFile").toString();
- if (cache.contains(deviceFile)) {
- m_cachedContent = cache[deviceFile];
+ if (cache->contains(deviceFile)) {
+ m_cachedContent = cache->value(deviceFile);
m_needsReprobe = false;
return m_cachedContent;
}
@@ -265,7 +265,7 @@ Solid::OpticalDisc::ContentTypes OpticalDisc::availableContent() \
const
m_needsReprobe = false;
- cache[deviceFile] = m_cachedContent;
+ cache->insert(deviceFile, m_cachedContent);
}
return m_cachedContent;
@@ -273,8 +273,8 @@ Solid::OpticalDisc::ContentTypes OpticalDisc::availableContent() \
const
void OpticalDisc::slotChanged()
{
- QMutexLocker lock(&cacheLock);
+ QMutexLocker lock(cacheLock);
m_needsReprobe = true;
m_cachedContent = Solid::OpticalDisc::NoContent;
- cache.remove(m_device->prop("DeviceFile").toString());
+ cache->remove(m_device->prop("DeviceFile").toString());
}
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic