From kde-commits Wed Sep 19 08:21:20 2012 From: Lukas Tinkl Date: Wed, 19 Sep 2012 08:21:20 +0000 To: kde-commits Subject: [kdelibs/KDE/4.10] solid/solid/backends/udisks2: use SOLID_GLOBAL_STATIC for the mutex Message-Id: <20120919082120.78219A6094 () git ! kde ! org> X-MARC-Message: https://marc.info/?l=kde-commits&m=134804289102393 Git commit 3f07cb578e2c62a498f313cbc7b0249d0c841abd by Lukas Tinkl. Committed on 19/09/2012 at 10:20. Pushed by lukas into branch 'KDE/4.10'. use SOLID_GLOBAL_STATIC for the mutex CCBUG: 261552 M +10 -10 solid/solid/backends/udisks2/udisksopticaldisc.cpp http://commits.kde.org/kdelibs/3f07cb578e2c62a498f313cbc7b0249d0c841abd diff --git a/solid/solid/backends/udisks2/udisksopticaldisc.cpp b/solid/sol= id/backends/udisks2/udisksopticaldisc.cpp index 45787fa..dc5256d 100644 --- a/solid/solid/backends/udisks2/udisksopticaldisc.cpp +++ b/solid/solid/backends/udisks2/udisksopticaldisc.cpp @@ -33,11 +33,11 @@ = #include "udisks2.h" #include "udisksopticaldisc.h" +#include "soliddefs_p.h" = -namespace { - QMap cache; - QMutex cacheLock; -} +typedef QMap ContentTypesCac= he; +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 QByteArray= & device_file) @@ -251,12 +251,12 @@ Solid::OpticalDisc::ContentTypes OpticalDisc::availab= leContent() const } = if (m_needsReprobe) { - QMutexLocker lock(&cacheLock); + QMutexLocker lock(cacheLock); = const QByteArray deviceFile =3D m_device->prop("Device").toByteArr= ay(); = - 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; } @@ -273,7 +273,7 @@ Solid::OpticalDisc::ContentTypes OpticalDisc::available= Content() const m_cachedContent |=3D Solid::OpticalDisc::Audio; = m_needsReprobe =3D false; - cache[deviceFile] =3D m_cachedContent; + cache->insert(deviceFile, m_cachedContent); } = return m_cachedContent; @@ -284,10 +284,10 @@ void OpticalDisc::slotDrivePropertiesChanged(const QS= tring &ifaceName, const QVa Q_UNUSED(ifaceName); = if (changedProps.keys().contains("Media") || invalidatedProps.contains= ("Media")) { - QMutexLocker lock(&cacheLock); + QMutexLocker lock(cacheLock); m_needsReprobe =3D true; m_cachedContent =3D Solid::OpticalDisc::NoContent; - cache.remove(m_device->prop("Device").toByteArray()); + cache->remove(m_device->prop("Device").toByteArray()); } } =20