[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