From kde-commits Wed Sep 19 08:11:59 2012 From: Lukas Tinkl Date: Wed, 19 Sep 2012 08:11:59 +0000 To: kde-commits Subject: [kdelibs/KDE/4.9] solid/solid/backends/udisks: use SOLID_GLOBAL_STATIC for the mutex Message-Id: <20120919081159.05C1AA6094 () git ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=134804233102187 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/soli= d/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 = #include "udisksopticaldisc.h" +#include "soliddefs_p.h" = -namespace { - QMap cache; - QMutex cacheLock; -} +typedef QMap ContentTypesCache; +SOLID_GLOBAL_STATIC(ContentTypesCache, cache) +SOLID_GLOBAL_STATIC(QMutex, cacheLock) = // inspired by http://cgit.freedesktop.org/hal/tree/hald/linux/probing/pro= be-volume.c static Solid::OpticalDisc::ContentType advancedDiscDetect(const QString & = device_file) @@ -241,12 +241,12 @@ Solid::OpticalDisc::ContentTypes OpticalDisc::availab= leContent() const } = if (m_needsReprobe) { - QMutexLocker lock(&cacheLock); + QMutexLocker lock(cacheLock); = QString deviceFile =3D m_device->prop("DeviceFile").toString(); = - if (cache.contains(deviceFile)) { - m_cachedContent =3D cache[deviceFile]; + if (cache->contains(deviceFile)) { + m_cachedContent =3D cache->value(deviceFile); m_needsReprobe =3D false; return m_cachedContent; } @@ -265,7 +265,7 @@ Solid::OpticalDisc::ContentTypes OpticalDisc::available= Content() const = m_needsReprobe =3D false; = - cache[deviceFile] =3D m_cachedContent; + cache->insert(deviceFile, m_cachedContent); } = return m_cachedContent; @@ -273,8 +273,8 @@ Solid::OpticalDisc::ContentTypes OpticalDisc::available= Content() const = void OpticalDisc::slotChanged() { - QMutexLocker lock(&cacheLock); + QMutexLocker lock(cacheLock); m_needsReprobe =3D true; m_cachedContent =3D Solid::OpticalDisc::NoContent; - cache.remove(m_device->prop("DeviceFile").toString()); + cache->remove(m_device->prop("DeviceFile").toString()); }