Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a8ac32c7 authored by Yabin Cui's avatar Yabin Cui
Browse files

Move trace.h to stdatomic.

Bug: 20262261
Change-Id: Idaf984786804eb76c285f38b11abbbc0d3706509
parent 89e2f942
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -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();
    }
}
+7 −7
Original line number Diff line number Diff line
@@ -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()
+1 −1
Original line number Diff line number Diff line
@@ -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;