sal/osl/w32/process.cxx | 33 ++++++++++++++------------------- 1 file changed, 14 insertions(+), 19 deletions(-)
New commits: commit b8bdd88c4e9b62cff422e13fb43078fc8e31661e Author: Mike Kaganski <mike.kagan...@collabora.com> AuthorDate: Fri Jan 29 11:12:54 2021 +0300 Commit: Mike Kaganski <mike.kagan...@collabora.com> CommitDate: Fri Jan 29 18:28:00 2021 +0100 Use MutexGuard instead of direct oslMutex manipulations Change-Id: Ifb2b309e2ffe51e491da83f64c12d9c0956fed4f Reviewed-on: https://gerrit.libreoffice.org/c/core/+/110127 Tested-by: Jenkins Reviewed-by: Mike Kaganski <mike.kagan...@collabora.com> diff --git a/sal/osl/w32/process.cxx b/sal/osl/w32/process.cxx index 81f05e84777f..c5885c96282f 100644 --- a/sal/osl/w32/process.cxx +++ b/sal/osl/w32/process.cxx @@ -25,6 +25,7 @@ #include <cassert> #include <memory> +#include <osl/mutex.hxx> #include <osl/nlsupport.h> #include <o3tl/char16_t2wchar_t.hxx> @@ -362,24 +363,23 @@ static rtl_uString ** osl_createCommandArgs_Impl (int argc, char **) oslProcessError SAL_CALL osl_getExecutableFile( rtl_uString **ppustrFile ) { - osl_acquireMutex (*osl_getGlobalMutex()); - if (g_command_args.m_nCount == 0) { - osl_releaseMutex (*osl_getGlobalMutex()); - return bootstrap_getExecutableFile(ppustrFile); + osl::MutexGuard aGuard(osl::Mutex::getGlobalMutex()); + if (g_command_args.m_nCount > 0) + { + /* CommandArgs set. Obtain arv[0]. */ + rtl_uString_assign(ppustrFile, g_command_args.m_ppArgs[0]); + return osl_Process_E_None; + } } - - /* CommandArgs set. Obtain arv[0]. */ - rtl_uString_assign (ppustrFile, g_command_args.m_ppArgs[0]); - osl_releaseMutex (*osl_getGlobalMutex()); - return osl_Process_E_None; + return bootstrap_getExecutableFile(ppustrFile); } sal_uInt32 SAL_CALL osl_getCommandArgCount() { sal_uInt32 result = 0; - osl_acquireMutex (*osl_getGlobalMutex()); + osl::MutexGuard aGuard(osl::Mutex::getGlobalMutex()); SAL_INFO_IF( g_command_args.m_nCount == 0, "sal.osl", "osl_getCommandArgCount w/o prior call to osl_setCommandArgs"); @@ -388,7 +388,6 @@ sal_uInt32 SAL_CALL osl_getCommandArgCount() /* We're not counting argv[0] here. */ result = g_command_args.m_nCount - 1; } - osl_releaseMutex (*osl_getGlobalMutex()); return result; } @@ -397,7 +396,7 @@ oslProcessError SAL_CALL osl_getCommandArg( sal_uInt32 nArg, rtl_uString **strCo { oslProcessError result = osl_Process_E_NotFound; - osl_acquireMutex (*osl_getGlobalMutex()); + osl::MutexGuard aGuard(osl::Mutex::getGlobalMutex()); assert(g_command_args.m_nCount > 0); if (g_command_args.m_nCount > (nArg + 1)) { @@ -405,7 +404,6 @@ oslProcessError SAL_CALL osl_getCommandArg( sal_uInt32 nArg, rtl_uString **strCo rtl_uString_assign (strCommandArg, g_command_args.m_ppArgs[nArg + 1]); result = osl_Process_E_None; } - osl_releaseMutex (*osl_getGlobalMutex()); return result; } @@ -413,7 +411,7 @@ oslProcessError SAL_CALL osl_getCommandArg( sal_uInt32 nArg, rtl_uString **strCo void SAL_CALL osl_setCommandArgs (int argc, char ** argv) { assert(argc > 0); - osl_acquireMutex (*osl_getGlobalMutex()); + osl::MutexGuard aGuard(osl::Mutex::getGlobalMutex()); SAL_WARN_IF(g_command_args.m_nCount != 0, "sal.osl", "args already set"); if (g_command_args.m_nCount == 0) { @@ -424,7 +422,6 @@ void SAL_CALL osl_setCommandArgs (int argc, char ** argv) g_command_args.m_ppArgs = ppArgs; } } - osl_releaseMutex (*osl_getGlobalMutex()); } /* TODO because of an issue with GetEnvironmentVariableW we have to @@ -513,7 +510,7 @@ static rtl_Locale * g_theProcessLocale = nullptr; oslProcessError SAL_CALL osl_getProcessLocale( rtl_Locale ** ppLocale ) { - osl_acquireMutex( *osl_getGlobalMutex() ); + osl::MutexGuard aGuard(osl::Mutex::getGlobalMutex()); /* determine the users default locale */ if( nullptr == g_theProcessLocale ) @@ -522,13 +519,12 @@ oslProcessError SAL_CALL osl_getProcessLocale( rtl_Locale ** ppLocale ) /* or return the cached value */ *ppLocale = g_theProcessLocale; - osl_releaseMutex( *osl_getGlobalMutex() ); return osl_Process_E_None; } oslProcessError SAL_CALL osl_setProcessLocale( rtl_Locale * pLocale ) { - osl_acquireMutex( *osl_getGlobalMutex() ); + osl::MutexGuard aGuard(osl::Mutex::getGlobalMutex()); /* check if locale is supported */ if( RTL_TEXTENCODING_DONTKNOW == osl_getTextEncodingFromLocale( pLocale ) ) @@ -537,7 +533,6 @@ oslProcessError SAL_CALL osl_setProcessLocale( rtl_Locale * pLocale ) /* just remember the locale here */ g_theProcessLocale = pLocale; - osl_releaseMutex( *osl_getGlobalMutex() ); return osl_Process_E_None; } _______________________________________________ Libreoffice-commits mailing list libreoffice-comm...@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/libreoffice-commits