summaryrefslogtreecommitdiff
path: root/stoc/source/security
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2018-11-04 15:28:37 +0300
committerMike Kaganski <mike.kaganski@collabora.com>2018-11-04 14:46:01 +0100
commite128f7806961b391cfb265a1ce009b2e036622ca (patch)
treeeda1097987f07ac6e2f507f898b71ddf929e0635 /stoc/source/security
parenta2058e7516a01167c2d20ed157500b38db967c64 (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.cxx18
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(