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

Commit 51e32b52 authored by Yabin Cui's avatar Yabin Cui Committed by Gerrit Code Review
Browse files

Merge "Move trace.h to stdatomic."

parents bb643ccb a8ac32c7
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;