From a8ac32c7815569add9ed3d729864d3b9cdbb5fce Mon Sep 17 00:00:00 2001 From: Yabin Cui Date: Wed, 15 Apr 2015 14:50:27 -0700 Subject: [PATCH] Move trace.h to stdatomic. Bug: 20262261 Change-Id: Idaf984786804eb76c285f38b11abbbc0d3706509 --- include/cutils/trace.h | 6 +++--- libcutils/trace-dev.c | 14 +++++++------- libcutils/trace-host.c | 2 +- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/include/cutils/trace.h b/include/cutils/trace.h index 9d039e6dc..e4ed17983 100644 --- a/include/cutils/trace.h +++ b/include/cutils/trace.h @@ -18,6 +18,7 @@ #define _LIBS_CUTILS_TRACE_H #include +#include #include #include #include @@ -25,7 +26,6 @@ #include #include -#include #include __BEGIN_DECLS @@ -113,7 +113,7 @@ void atrace_set_tracing_enabled(bool enabled); * Nonzero indicates setup has completed. * Note: This does NOT indicate whether or not setup was successful. */ -extern volatile int32_t atrace_is_ready; +extern atomic_bool atrace_is_ready; /** * Set of ATRACE_TAG flags to trace for, initialized to ATRACE_TAG_NOT_READY. @@ -136,7 +136,7 @@ extern int atrace_marker_fd; #define ATRACE_INIT() atrace_init() static inline void atrace_init() { - if (CC_UNLIKELY(!android_atomic_acquire_load(&atrace_is_ready))) { + if (CC_UNLIKELY(!atomic_load_explicit(&atrace_is_ready, memory_order_acquire))) { atrace_setup(); } } diff --git a/libcutils/trace-dev.c b/libcutils/trace-dev.c index 439662552..a06987ec0 100644 --- a/libcutils/trace-dev.c +++ b/libcutils/trace-dev.c @@ -18,11 +18,11 @@ #include #include #include +#include #include #include #include #include -#include #include #include #include @@ -37,11 +37,11 @@ */ #define ATRACE_MESSAGE_LENGTH 1024 -volatile int32_t atrace_is_ready = 0; +atomic_bool atrace_is_ready = ATOMIC_VAR_INIT(false); int atrace_marker_fd = -1; uint64_t atrace_enabled_tags = ATRACE_TAG_NOT_READY; static bool atrace_is_debuggable = false; -static volatile int32_t atrace_is_enabled = 1; +static atomic_bool atrace_is_enabled = ATOMIC_VAR_INIT(true); static pthread_once_t atrace_once_control = PTHREAD_ONCE_INIT; static pthread_mutex_t atrace_tags_mutex = PTHREAD_MUTEX_INITIALIZER; @@ -58,7 +58,7 @@ void atrace_set_debuggable(bool debuggable) // the Zygote process from tracing. void atrace_set_tracing_enabled(bool enabled) { - android_atomic_release_store(enabled ? 1 : 0, &atrace_is_enabled); + atomic_store_explicit(&atrace_is_enabled, enabled, memory_order_release); atrace_update_tags(); } @@ -155,8 +155,8 @@ static uint64_t atrace_get_property() void atrace_update_tags() { uint64_t tags; - if (CC_UNLIKELY(android_atomic_acquire_load(&atrace_is_ready))) { - if (android_atomic_acquire_load(&atrace_is_enabled)) { + if (CC_UNLIKELY(atomic_load_explicit(&atrace_is_ready, memory_order_acquire))) { + if (atomic_load_explicit(&atrace_is_enabled, memory_order_acquire)) { tags = atrace_get_property(); pthread_mutex_lock(&atrace_tags_mutex); atrace_enabled_tags = tags; @@ -183,7 +183,7 @@ static void atrace_init_once() atrace_enabled_tags = atrace_get_property(); done: - android_atomic_release_store(1, &atrace_is_ready); + atomic_store_explicit(&atrace_is_ready, true, memory_order_release); } void atrace_setup() diff --git a/libcutils/trace-host.c b/libcutils/trace-host.c index b87e54351..6478e3e52 100644 --- a/libcutils/trace-host.c +++ b/libcutils/trace-host.c @@ -20,7 +20,7 @@ #define __unused __attribute__((__unused__)) #endif -volatile int32_t atrace_is_ready = 1; +atomic_bool atrace_is_ready = ATOMIC_VAR_INIT(true); int atrace_marker_fd = -1; uint64_t atrace_enabled_tags = 0;