aboutsummaryrefslogtreecommitdiffstats
path: root/fastlib
diff options
context:
space:
mode:
authorTor Egge <Tor.Egge@broadpark.no>2017-10-27 03:22:17 +0200
committerTor Egge <Tor.Egge@oath.com>2017-10-27 08:50:19 +0000
commitce810d6e0257c503f9fb61f43958ccb27441bbb5 (patch)
tree2b37d8df4a2e9ab6e12b7218031b395ead21191f /fastlib
parent07adc22972f295380826def618597a9d229e855a (diff)
Use std::mutex instead of FastOS_Mutex.
Diffstat (limited to 'fastlib')
-rw-r--r--fastlib/src/vespa/fastlib/text/normwordfolder.cpp30
1 files changed, 15 insertions, 15 deletions
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 <vespa/fastlib/text/unicodeutil.h>
#include <vespa/fastlib/text/normwordfolder.h>
-#include <vespa/fastos/mutex.h>
+#include <mutex>
#include <cstring>
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<std::mutex> 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<std::mutex> initGuard(_initMutex);
if (!_isInitialized) {
for (i = 0; i < 128; i++)
@@ -707,7 +708,6 @@ Fast_NormalizeWordFolder::Initialize()
//
_isInitialized = true;
}
- _initMutex.Unlock();
}
}