diff options
author | Mike Kaganski <mike.kaganski@collabora.com> | 2018-11-04 15:28:37 +0300 |
---|---|---|
committer | Mike Kaganski <mike.kaganski@collabora.com> | 2018-11-04 14:46:01 +0100 |
commit | e128f7806961b391cfb265a1ce009b2e036622ca (patch) | |
tree | eda1097987f07ac6e2f507f898b71ddf929e0635 /stoc/source/security | |
parent | a2058e7516a01167c2d20ed157500b38db967c64 (diff) |
replace double-checked locking patterns with thread safe local statics
Change-Id: I1bf67196e97411aeecc13ed4f91d1088a315e323
Reviewed-on: https://gerrit.libreoffice.org/62839
Tested-by: Jenkins
Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
Diffstat (limited to 'stoc/source/security')
-rw-r--r-- | stoc/source/security/permissions.cxx | 18 |
1 files changed, 5 insertions, 13 deletions
diff --git a/stoc/source/security/permissions.cxx b/stoc/source/security/permissions.cxx index 1390275b3246..d8a4ac9b0c70 100644 --- a/stoc/source/security/permissions.cxx +++ b/stoc/source/security/permissions.cxx @@ -285,20 +285,12 @@ char const * FilePermission::s_actions [] = { "read", "write", "execute", "delet static OUString const & getWorkingDir() { - static OUString * s_workingDir = nullptr; - if (! s_workingDir) - { + static OUString s_workingDir = []() { OUString workingDir; - ::osl_getProcessWorkingDir( &workingDir.pData ); - - MutexGuard guard( Mutex::getGlobalMutex() ); - if (! s_workingDir) - { - static OUString s_dir( workingDir ); - s_workingDir = &s_dir; - } - } - return *s_workingDir; + ::osl_getProcessWorkingDir(&workingDir.pData); + return workingDir; + }(); + return s_workingDir; } FilePermission::FilePermission( |