aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/ports/SkTLS_pthread.cpp
diff options
context:
space:
mode:
authorGravatar mtklein <mtklein@chromium.org>2016-05-24 07:01:48 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-05-24 07:01:48 -0700
commit2cb49bd7e99480f02547aa08f29b80b1bd93ca20 (patch)
treeeb2365a652817b89547c10e99d39e39ad5201b03 /src/ports/SkTLS_pthread.cpp
parent5221fef17bb76163eedd101799b6155278cbe2b9 (diff)
pthread_once -> SkOnce
one fewer sync primitive... GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2003163004 Review-Url: https://codereview.chromium.org/2003163004
Diffstat (limited to 'src/ports/SkTLS_pthread.cpp')
-rw-r--r--src/ports/SkTLS_pthread.cpp15
1 files changed, 5 insertions, 10 deletions
diff --git a/src/ports/SkTLS_pthread.cpp b/src/ports/SkTLS_pthread.cpp
index ac558a8196..445d76d13a 100644
--- a/src/ports/SkTLS_pthread.cpp
+++ b/src/ports/SkTLS_pthread.cpp
@@ -6,22 +6,17 @@
*/
#include "SkTLS.h"
+#include "SkOnce.h"
#include <pthread.h>
static pthread_key_t gSkTLSKey;
-static pthread_once_t gSkTLSKey_Once = PTHREAD_ONCE_INIT;
-
-static void sk_tls_make_key() {
- (void)pthread_key_create(&gSkTLSKey, SkTLS::Destructor);
-}
void* SkTLS::PlatformGetSpecific(bool forceCreateTheSlot) {
- // should we use forceCreateTheSlot to potentially skip calling pthread_once
- // and just return nullptr if we've never been called with
- // forceCreateTheSlot==true ?
-
- (void)pthread_once(&gSkTLSKey_Once, sk_tls_make_key);
+ // should we use forceCreateTheSlot to potentially just return nullptr if
+ // we've never been called with forceCreateTheSlot==true ?
+ static SkOnce once;
+ once(pthread_key_create, &gSkTLSKey, SkTLS::Destructor);
return pthread_getspecific(gSkTLSKey);
}