diff options
author | Noel Grandin <noelgrandin@gmail.com> | 2021-11-08 21:01:19 +0200 |
---|---|---|
committer | Noel Grandin <noel.grandin@collabora.co.uk> | 2021-11-09 08:28:56 +0100 |
commit | b3c6b3a274b4c89d3572010794897c65b26571aa (patch) | |
tree | 87493b0306663ac6c818a71df9f83831914e296b /cppu/source/uno | |
parent | 926ac3c5e4b8eb425bc2db0366594acc0cf2c1ed (diff) |
rtl::Static to thread-safe static
Change-Id: I35e2a252708228bdbeaee557ef35763c64608653
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/124884
Tested-by: Jenkins
Reviewed-by: Noel Grandin <noel.grandin@collabora.co.uk>
Diffstat (limited to 'cppu/source/uno')
-rw-r--r-- | cppu/source/uno/lbenv.cxx | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/cppu/source/uno/lbenv.cxx b/cppu/source/uno/lbenv.cxx index 4af07c9d1944..f19d8e725e4f 100644 --- a/cppu/source/uno/lbenv.cxx +++ b/cppu/source/uno/lbenv.cxx @@ -33,7 +33,6 @@ #include <rtl/string.hxx> #include <rtl/ustring.hxx> #include <rtl/ustrbuf.hxx> -#include <rtl/instance.hxx> #include <typelib/typedescription.h> #include <uno/dispatcher.h> #include <uno/environment.h> @@ -127,7 +126,11 @@ struct EnvironmentsData bool isDisposing; }; -struct theEnvironmentsData : public rtl::Static< EnvironmentsData, theEnvironmentsData > {}; +EnvironmentsData& theEnvironmentsData() +{ + static EnvironmentsData SINGLETON; + return SINGLETON; +} struct uno_DefaultEnvironment : public uno_ExtEnvironment { @@ -563,7 +566,7 @@ static void defenv_harden( *ppHardEnv = nullptr; } - EnvironmentsData & rData = theEnvironmentsData::get(); + EnvironmentsData & rData = theEnvironmentsData(); if (rData.isDisposing) return; @@ -1110,7 +1113,7 @@ void SAL_CALL uno_getEnvironment( assert(ppEnv && "### null ptr!"); OUString const & rEnvDcp = OUString::unacquired( &pEnvDcp ); - EnvironmentsData & rData = theEnvironmentsData::get(); + EnvironmentsData & rData = theEnvironmentsData(); ::osl::MutexGuard guard( rData.mutex ); rData.getEnvironment( ppEnv, rEnvDcp, pContext ); @@ -1130,7 +1133,7 @@ void SAL_CALL uno_getRegisteredEnvironments( rtl_uString * pEnvDcp ) SAL_THROW_EXTERN_C() { - EnvironmentsData & rData = theEnvironmentsData::get(); + EnvironmentsData & rData = theEnvironmentsData(); ::osl::MutexGuard guard( rData.mutex ); rData.getRegisteredEnvironments( |