Move trace.h to stdatomic.

Bug: 20262261
Change-Id: Idaf984786804eb76c285f38b11abbbc0d3706509
This commit is contained in:
Yabin Cui 2015-04-15 14:50:27 -07:00
parent 89e2f94218
commit a8ac32c781
3 changed files with 11 additions and 11 deletions

View File

@ -18,6 +18,7 @@
#define _LIBS_CUTILS_TRACE_H
#include <inttypes.h>
#include <stdatomic.h>
#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
@ -25,7 +26,6 @@
#include <sys/types.h>
#include <unistd.h>
#include <cutils/atomic.h>
#include <cutils/compiler.h>
__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();
}
}

View File

@ -18,11 +18,11 @@
#include <fcntl.h>
#include <limits.h>
#include <pthread.h>
#include <stdatomic.h>
#include <stdbool.h>
#include <stdlib.h>
#include <string.h>
#include <sys/types.h>
#include <cutils/atomic.h>
#include <cutils/compiler.h>
#include <cutils/properties.h>
#include <cutils/trace.h>
@ -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()

View File

@ -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;