From ce810d6e0257c503f9fb61f43958ccb27441bbb5 Mon Sep 17 00:00:00 2001 From: Tor Egge Date: Fri, 27 Oct 2017 03:22:17 +0200 Subject: Use std::mutex instead of FastOS_Mutex. --- fastlib/src/vespa/fastlib/text/normwordfolder.cpp | 30 +++++++++++------------ 1 file changed, 15 insertions(+), 15 deletions(-) (limited to 'fastlib') diff --git a/fastlib/src/vespa/fastlib/text/normwordfolder.cpp b/fastlib/src/vespa/fastlib/text/normwordfolder.cpp index 767431e5531..f383ff85df5 100644 --- a/fastlib/src/vespa/fastlib/text/normwordfolder.cpp +++ b/fastlib/src/vespa/fastlib/text/normwordfolder.cpp @@ -2,11 +2,11 @@ #include #include -#include +#include #include bool Fast_NormalizeWordFolder::_isInitialized = false; -FastOS_Mutex _initMutex; +std::mutex _initMutex; bool Fast_NormalizeWordFolder::_doAccentRemoval = false; bool Fast_NormalizeWordFolder::_doSmallToNormalKana = false; bool Fast_NormalizeWordFolder::_doKatakanaToHiragana = false; @@ -28,17 +28,18 @@ void Fast_NormalizeWordFolder::Setup(uint32_t flags) { // Only allow setting these when not initialized or initializing... - _initMutex.Lock(); - _doAccentRemoval = (DO_ACCENT_REMOVAL & flags) != 0; -// _doSmallToNormalKana = (DO_SMALL_TO_NORMAL_KANA & flags) != 0; -// _doKatakanaToHiragana = (DO_KATAKANA_TO_HIRAGANA & flags) != 0; -// _doKanaAccentCollapsing = (DO_KANA_ACCENT_COLLAPSING & flags) != 0; // Not implemented - _doFullwidthToBasicLatin = (DO_FULLWIDTH_TO_BASIC_LATIN & flags) != 0; // Not implemented - _doSharpSSubstitution = (DO_SHARP_S_SUBSTITUTION & flags) != 0; - _doLigatureSubstitution = (DO_LIGATURE_SUBSTITUTION & flags) != 0; - _doMulticharExpansion = (DO_MULTICHAR_EXPANSION & flags) != 0; - _isInitialized = false; - _initMutex.Unlock(); + { + std::unique_lock initGuard(_initMutex); + _doAccentRemoval = (DO_ACCENT_REMOVAL & flags) != 0; +// _doSmallToNormalKana = (DO_SMALL_TO_NORMAL_KANA & flags) != 0; +// _doKatakanaToHiragana = (DO_KATAKANA_TO_HIRAGANA & flags) != 0; +// _doKanaAccentCollapsing = (DO_KANA_ACCENT_COLLAPSING & flags) != 0; // Not implemented + _doFullwidthToBasicLatin = (DO_FULLWIDTH_TO_BASIC_LATIN & flags) != 0; // Not implemented + _doSharpSSubstitution = (DO_SHARP_S_SUBSTITUTION & flags) != 0; + _doLigatureSubstitution = (DO_LIGATURE_SUBSTITUTION & flags) != 0; + _doMulticharExpansion = (DO_MULTICHAR_EXPANSION & flags) != 0; + _isInitialized = false; + } Initialize(); } @@ -47,7 +48,7 @@ Fast_NormalizeWordFolder::Initialize() { unsigned int i; if (!_isInitialized) { - _initMutex.Lock(); + std::unique_lock initGuard(_initMutex); if (!_isInitialized) { for (i = 0; i < 128; i++) @@ -707,7 +708,6 @@ Fast_NormalizeWordFolder::Initialize() // _isInitialized = true; } - _initMutex.Unlock(); } } -- cgit v1.2.3