summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJochen Nitschke <j.nitschke+logerrit@ok.de>2018-07-29 18:22:48 +0200
committerNoel Grandin <noel.grandin@collabora.co.uk>2018-07-29 23:06:39 +0200
commitc9697dc2abb2d23ffbb8253ce8b0ff0314d86984 (patch)
tree2e0eb42b0b8fe88697f34864dae8cbe6e0811e56
parentreplace double checked locking patterns (diff)
downloadcore-c9697dc2abb2d23ffbb8253ce8b0ff0314d86984.tar.gz
core-c9697dc2abb2d23ffbb8253ce8b0ff0314d86984.zip
replace double checked locking patterns
with thread safe static initialization Change-Id: I4c751a47e3bdf52bbfb67d4f3aabd6f442e30118 Reviewed-on: https://gerrit.libreoffice.org/58287 Tested-by: Jenkins Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
-rw-r--r--cppu/source/uno/lbmap.cxx15
-rw-r--r--cppuhelper/source/component.cxx22
2 files changed, 11 insertions, 26 deletions
diff --git a/cppu/source/uno/lbmap.cxx b/cppu/source/uno/lbmap.cxx
index e1c606bf5c67..c5ce6709991f 100644
--- a/cppu/source/uno/lbmap.cxx
+++ b/cppu/source/uno/lbmap.cxx
@@ -158,17 +158,10 @@ struct MappingsData
static MappingsData & getMappingsData()
{
- static MappingsData * s_p = nullptr;
- if (! s_p)
- {
- MutexGuard aGuard( Mutex::getGlobalMutex() );
- if (! s_p)
- {
- //TODO This memory is leaked; see #i63473# for when this should be
- // changed again:
- s_p = new MappingsData;
- }
- }
+ //TODO This memory is leaked; see #i63473# for when this should be
+ // changed again:
+ static MappingsData * s_p(new MappingsData);
+
return *s_p;
}
diff --git a/cppuhelper/source/component.cxx b/cppuhelper/source/component.cxx
index 1c3585ee17d4..c9bd6a4a9b28 100644
--- a/cppuhelper/source/component.cxx
+++ b/cppuhelper/source/component.cxx
@@ -112,21 +112,13 @@ void OComponentHelper::release() throw()
Sequence< Type > OComponentHelper::getTypes()
{
- static OTypeCollection * s_pTypes = nullptr;
- if (! s_pTypes)
- {
- MutexGuard aGuard( Mutex::getGlobalMutex() );
- if (! s_pTypes)
- {
- static OTypeCollection s_aTypes(
- cppu::UnoType<lang::XComponent>::get(),
- cppu::UnoType<lang::XTypeProvider>::get(),
- cppu::UnoType<XAggregation>::get(),
- cppu::UnoType<XWeak>::get() );
- s_pTypes = &s_aTypes;
- }
- }
- return s_pTypes->getTypes();
+ static OTypeCollection s_aTypes(
+ cppu::UnoType<lang::XComponent>::get(),
+ cppu::UnoType<lang::XTypeProvider>::get(),
+ cppu::UnoType<XAggregation>::get(),
+ cppu::UnoType<XWeak>::get() );
+
+ return s_aTypes.getTypes();
}
// XComponent