aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/utils/SkEventTracer.cpp
diff options
context:
space:
mode:
authorGravatar mtklein <mtklein@chromium.org>2015-04-22 20:30:12 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2015-04-22 20:30:12 -0700
commit743be194eda4c1f37c4a5f62f38ef88f09f30649 (patch)
tree131aa6f32fc8df787902189df21de4b3a6b32832 /src/utils/SkEventTracer.cpp
parent473ffa179a8b10655fc0d38b3f4d7205de47cd81 (diff)
use acquire/release in SkEventTracer.cpp
BUG=chromium:437044 Review URL: https://codereview.chromium.org/1091283006
Diffstat (limited to 'src/utils/SkEventTracer.cpp')
-rw-r--r--src/utils/SkEventTracer.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/utils/SkEventTracer.cpp b/src/utils/SkEventTracer.cpp
index 1a669a3f8e..b114c21c8f 100644
--- a/src/utils/SkEventTracer.cpp
+++ b/src/utils/SkEventTracer.cpp
@@ -41,18 +41,15 @@ class SkDefaultEventTracer : public SkEventTracer {
static SkEventTracer* gUserTracer = nullptr;
SK_DECLARE_STATIC_LAZY_PTR(SkDefaultEventTracer, gDefaultTracer);
-// We can use relaxed memory order for gUserTracer loads and stores.
-// It's not guarding anything but itself.
-
void SkEventTracer::SetInstance(SkEventTracer* tracer) {
- SkASSERT(nullptr == sk_atomic_load(&gUserTracer, sk_memory_order_relaxed));
- sk_atomic_store(&gUserTracer, tracer, sk_memory_order_relaxed);
+ SkASSERT(nullptr == sk_atomic_load(&gUserTracer, sk_memory_order_acquire));
+ sk_atomic_store(&gUserTracer, tracer, sk_memory_order_release);
// An atomic load during process shutdown is probably overkill, but safe overkill.
- atexit([](){ SkDELETE(sk_atomic_load(&gUserTracer, sk_memory_order_relaxed)); });
+ atexit([](){ SkDELETE(sk_atomic_load(&gUserTracer, sk_memory_order_acquire)); });
}
SkEventTracer* SkEventTracer::GetInstance() {
- if (SkEventTracer* tracer = sk_atomic_load(&gUserTracer, sk_memory_order_relaxed)) {
+ if (SkEventTracer* tracer = sk_atomic_load(&gUserTracer, sk_memory_order_acquire)) {
return tracer;
}
return gDefaultTracer.get();