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

Commit b9d8e828 authored by Steven Moreland's avatar Steven Moreland Committed by Gerrit Code Review
Browse files

Merge changes I732e5b8a,I4271909e

* changes:
  libutils: RefBase DEBUG_REF love
  libutils: DEBUG_* modes compile forever
parents 1d0fec78 b7412c8c
Loading
Loading
Loading
Loading
+30 −6
Original line number Diff line number Diff line
@@ -58,10 +58,6 @@ cc_defaults {
    vendor_available: true,
    product_available: true,
    recovery_available: true,
    vndk: {
        enabled: true,
        support_system_process: true,
    },
    host_supported: true,

    cflags: [
@@ -126,8 +122,8 @@ cc_defaults {
    },
}

cc_library {
    name: "libutils",
cc_defaults {
    name: "libutils_impl_defaults",
    defaults: ["libutils_defaults"],
    native_bridge_supported: true,

@@ -180,12 +176,40 @@ cc_library {
    },
}

cc_library {
    name: "libutils",
    defaults: ["libutils_impl_defaults"],

    vndk: {
        enabled: true,
        support_system_process: true,
    },
}

cc_library {
    name: "libutils_test_compile",
    defaults: ["libutils_impl_defaults"],

    cflags: [
        "-DCALLSTACKS=1",
        "-DDEBUG_POLL_AND_WAKE=1",
        "-DDEBUG_REFS=1",
        "-DDEBUG_TOKENIZER=1",
    ],

    visibility: [":__subpackages__"],
}

cc_library {
    name: "libutilscallstack",
    defaults: ["libutils_defaults"],
    // TODO(b/153609531): remove when no longer needed.
    native_bridge_supported: true,
    min_sdk_version: "29",
    vndk: {
        enabled: true,
        support_system_process: true,
    },

    srcs: [
        "CallStack.cpp",
+4 −0
Original line number Diff line number Diff line
@@ -8,10 +8,14 @@
//#define LOG_NDEBUG 0

// Debugs poll and wake interactions.
#ifndef DEBUG_POLL_AND_WAKE
#define DEBUG_POLL_AND_WAKE 0
#endif

// Debugs callback registration and invocation.
#ifndef DEBUG_CALLBACKS
#define DEBUG_CALLBACKS 0
#endif

#include <utils/Looper.h>

+10 −2
Original line number Diff line number Diff line
@@ -21,9 +21,11 @@

#include <android-base/macros.h>

#include <fcntl.h>
#include <log/log.h>

#include <utils/RefBase.h>
#include <utils/String8.h>

#include <utils/Mutex.h>

@@ -32,7 +34,9 @@
#endif

// Compile with refcounting debugging enabled.
#ifndef DEBUG_REFS
#define DEBUG_REFS 0
#endif

// The following three are ignored unless DEBUG_REFS is set.

@@ -45,7 +49,11 @@

// folder where stack traces are saved when DEBUG_REFS is enabled
// this folder needs to exist and be writable
#ifdef __ANDROID__
#define DEBUG_REFS_CALLSTACK_PATH "/data/debug"
#else
#define DEBUG_REFS_CALLSTACK_PATH "."
#endif

// log all reference counting operations
#define PRINT_REFS 0
@@ -320,11 +328,11 @@ public:
            char name[100];
            snprintf(name, sizeof(name), DEBUG_REFS_CALLSTACK_PATH "/%p.stack",
                     this);
            int rc = open(name, O_RDWR | O_CREAT | O_APPEND, 644);
            int rc = open(name, O_RDWR | O_CREAT | O_APPEND, 0644);
            if (rc >= 0) {
                (void)write(rc, text.string(), text.length());
                close(rc);
                ALOGD("STACK TRACE for %p saved in %s", this, name);
                ALOGI("STACK TRACE for %p saved in %s", this, name);
            }
            else ALOGE("FAILED TO PRINT STACK TRACE for %p in %s: %s", this,
                      name, strerror(errno));
+2 −1
Original line number Diff line number Diff line
@@ -21,9 +21,10 @@
#include <sys/stat.h>
#include <utils/Log.h>

#ifndef DEBUG_TOKENIZER
// Enables debug output for the tokenizer.
#define DEBUG_TOKENIZER 0

#endif

namespace android {