[Libreoffice-commits] core.git: include/toolkit include/ucbhelper
Jochen Nitschke
j.nitschke+logerrit at ok.de
Mon Jun 12 06:45:41 UTC 2017
include/toolkit/helper/macros.hxx | 14 ++------------
include/ucbhelper/macros.hxx | 15 ++++-----------
2 files changed, 6 insertions(+), 23 deletions(-)
New commits:
commit 0b8c2c72c988488895d74d1bb36e60378283a4da
Author: Jochen Nitschke <j.nitschke+logerrit at ok.de>
Date: Sun Jun 11 13:37:46 2017 +0200
replace double checked locking patterns in getTypes macros
with thread safe local statics
Change-Id: Ie7c44fb35ba0b24e154631a4805463230e2c69e7
Reviewed-on: https://gerrit.libreoffice.org/38662
Tested-by: Jenkins <ci at libreoffice.org>
Reviewed-by: Noel Grandin <noel.grandin at collabora.co.uk>
diff --git a/include/toolkit/helper/macros.hxx b/include/toolkit/helper/macros.hxx
index ab9b0f4b3739..25c3e3d4c33f 100644
--- a/include/toolkit/helper/macros.hxx
+++ b/include/toolkit/helper/macros.hxx
@@ -60,22 +60,12 @@ css::uno::Sequence< sal_Int8 > ClassName::getImplementationId() \
IMPL_IMPLEMENTATION_ID( ClassName ) \
css::uno::Sequence< css::uno::Type > ClassName::getTypes() \
{ \
- static ::cppu::OTypeCollection* pCollection = nullptr; \
- if( !pCollection ) \
- { \
- ::osl::Guard< ::osl::Mutex > aGuard( ::osl::Mutex::getGlobalMutex() ); \
- if( !pCollection ) \
- { \
- static ::cppu::OTypeCollection collection( \
+ static ::cppu::OTypeCollection collection( \
cppu::UnoType<css::lang::XTypeProvider>::get(),
-
#define IMPL_XTYPEPROVIDER_END \
); \
- pCollection = &collection; \
- } \
- } \
- return (*pCollection).getTypes(); \
+ return collection.getTypes(); \
}
diff --git a/include/ucbhelper/macros.hxx b/include/ucbhelper/macros.hxx
index 09dca56d5750..6be773977867 100644
--- a/include/ucbhelper/macros.hxx
+++ b/include/ucbhelper/macros.hxx
@@ -48,20 +48,13 @@ Class::getImplementationId() \
css::uno::Sequence< css::uno::Type > SAL_CALL \
Class::getTypes() \
{ \
- static cppu::OTypeCollection* pCollection = nullptr; \
- if ( !pCollection ) \
- { \
- osl::Guard< osl::Mutex > aGuard( osl::Mutex::getGlobalMutex() ); \
- if ( !pCollection ) \
- { \
- static cppu::OTypeCollection collection(
+ static cppu::OTypeCollection collection(
+
#define GETTYPES_IMPL_END \
); \
- pCollection = &collection; \
- } \
- } \
- return (*pCollection).getTypes(); \
+ \
+ return collection.getTypes(); \
}
More information about the Libreoffice-commits
mailing list