summaryrefslogtreecommitdiff
path: root/deps/icu-small/source/i18n/zonemeta.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'deps/icu-small/source/i18n/zonemeta.cpp')
-rw-r--r--deps/icu-small/source/i18n/zonemeta.cpp29
1 files changed, 13 insertions, 16 deletions
diff --git a/deps/icu-small/source/i18n/zonemeta.cpp b/deps/icu-small/source/i18n/zonemeta.cpp
index 0e3ee89316..72c590f424 100644
--- a/deps/icu-small/source/i18n/zonemeta.cpp
+++ b/deps/icu-small/source/i18n/zonemeta.cpp
@@ -30,10 +30,7 @@
#include "olsontz.h"
#include "uinvchar.h"
-static icu::UMutex *gZoneMetaLock() {
- static icu::UMutex m = U_MUTEX_INITIALIZER;
- return &m;
-}
+static icu::UMutex gZoneMetaLock;
// CLDR Canonical ID mapping table
static UHashtable *gCanonicalIDCache = NULL;
@@ -266,11 +263,11 @@ ZoneMeta::getCanonicalCLDRID(const UnicodeString &tzid, UErrorCode& status) {
}
// Check if it was already cached
- umtx_lock(gZoneMetaLock());
+ umtx_lock(&gZoneMetaLock);
{
canonicalID = (const UChar *)uhash_get(gCanonicalIDCache, utzid);
}
- umtx_unlock(gZoneMetaLock());
+ umtx_unlock(&gZoneMetaLock);
if (canonicalID != NULL) {
return canonicalID;
@@ -351,7 +348,7 @@ ZoneMeta::getCanonicalCLDRID(const UnicodeString &tzid, UErrorCode& status) {
U_ASSERT(canonicalID != NULL); // canocanilD must be non-NULL here
// Put the resolved canonical ID to the cache
- umtx_lock(gZoneMetaLock());
+ umtx_lock(&gZoneMetaLock);
{
const UChar* idInCache = (const UChar *)uhash_get(gCanonicalIDCache, utzid);
if (idInCache == NULL) {
@@ -371,7 +368,7 @@ ZoneMeta::getCanonicalCLDRID(const UnicodeString &tzid, UErrorCode& status) {
}
}
}
- umtx_unlock(gZoneMetaLock());
+ umtx_unlock(&gZoneMetaLock);
}
return canonicalID;
@@ -449,14 +446,14 @@ ZoneMeta::getCanonicalCountry(const UnicodeString &tzid, UnicodeString &country,
// Check if it was already cached
UBool cached = FALSE;
UBool singleZone = FALSE;
- umtx_lock(gZoneMetaLock());
+ umtx_lock(&gZoneMetaLock);
{
singleZone = cached = gSingleZoneCountries->contains((void*)region);
if (!cached) {
cached = gMultiZonesCountries->contains((void*)region);
}
}
- umtx_unlock(gZoneMetaLock());
+ umtx_unlock(&gZoneMetaLock);
if (!cached) {
// We need to go through all zones associated with the region.
@@ -475,7 +472,7 @@ ZoneMeta::getCanonicalCountry(const UnicodeString &tzid, UnicodeString &country,
delete ids;
// Cache the result
- umtx_lock(gZoneMetaLock());
+ umtx_lock(&gZoneMetaLock);
{
UErrorCode ec = U_ZERO_ERROR;
if (singleZone) {
@@ -488,7 +485,7 @@ ZoneMeta::getCanonicalCountry(const UnicodeString &tzid, UnicodeString &country,
}
}
}
- umtx_unlock(gZoneMetaLock());
+ umtx_unlock(&gZoneMetaLock);
}
if (singleZone) {
@@ -575,11 +572,11 @@ ZoneMeta::getMetazoneMappings(const UnicodeString &tzid) {
// get the mapping from cache
const UVector *result = NULL;
- umtx_lock(gZoneMetaLock());
+ umtx_lock(&gZoneMetaLock);
{
result = (UVector*) uhash_get(gOlsonToMeta, tzidUChars);
}
- umtx_unlock(gZoneMetaLock());
+ umtx_unlock(&gZoneMetaLock);
if (result != NULL) {
return result;
@@ -593,7 +590,7 @@ ZoneMeta::getMetazoneMappings(const UnicodeString &tzid) {
}
// put the new one into the cache
- umtx_lock(gZoneMetaLock());
+ umtx_lock(&gZoneMetaLock);
{
// make sure it's already created
result = (UVector*) uhash_get(gOlsonToMeta, tzidUChars);
@@ -621,7 +618,7 @@ ZoneMeta::getMetazoneMappings(const UnicodeString &tzid) {
delete tmpResult;
}
}
- umtx_unlock(gZoneMetaLock());
+ umtx_unlock(&gZoneMetaLock);
return result;
}