]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/i18n/gender.cpp
ICU-64252.0.1.tar.gz
[apple/icu.git] / icuSources / i18n / gender.cpp
index 9a25dd88f96459fd422186a6e4a6ba33744b6a67..b57f009d373a01c8778d2f7cefd73b0b95205caf 100644 (file)
@@ -32,7 +32,7 @@
 #include "uhash.h"
 
 static UHashtable* gGenderInfoCache = NULL;
-static UMutex gGenderMetaLock = U_MUTEX_INITIALIZER;
+
 static const char* gNeutralStr = "neutral";
 static const char* gMailTaintsStr = "maleTaints";
 static const char* gMixedNeutralStr = "mixedNeutral";
@@ -98,10 +98,11 @@ const GenderInfo* GenderInfo::getInstance(const Locale& locale, UErrorCode& stat
     return NULL;
   }
 
+  static UMutex *gGenderMetaLock = STATIC_NEW(UMutex);
   const GenderInfo* result = NULL;
   const char* key = locale.getName();
   {
-    Mutex lock(&gGenderMetaLock);
+    Mutex lock(gGenderMetaLock);
     result = (const GenderInfo*) uhash_get(gGenderInfoCache, key);
   }
   if (result) {
@@ -117,7 +118,7 @@ const GenderInfo* GenderInfo::getInstance(const Locale& locale, UErrorCode& stat
   // Try to put our GenderInfo object in cache. If there is a race condition,
   // favor the GenderInfo object that is already in the cache.
   {
-    Mutex lock(&gGenderMetaLock);
+    Mutex lock(gGenderMetaLock);
     GenderInfo* temp = (GenderInfo*) uhash_get(gGenderInfoCache, key);
     if (temp) {
       result = temp;