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+loger...@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 <c...@libreoffice.org> Reviewed-by: Noel Grandin <noel.gran...@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(); \ } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits