pthread_once -> SkOnce
one fewer sync primitive... GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2003163004 Review-Url: https://codereview.chromium.org/2003163004
This commit is contained in:
parent
5221fef17b
commit
2cb49bd7e9
@ -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);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user