Merge "Do not check for debuggable / profilable for app tracing." am: c89dd8594e
Original change: https://android-review.googlesource.com/c/platform/system/core/+/1581672 MUST ONLY BE SUBMITTED BY AUTOMERGER Change-Id: Ia9f106b123f2091655f260e9b280d0826964a09d
This commit is contained in:
commit
bbd67c3ede
2 changed files with 11 additions and 32 deletions
|
|
@ -103,14 +103,6 @@ void atrace_setup();
|
||||||
*/
|
*/
|
||||||
void atrace_update_tags();
|
void atrace_update_tags();
|
||||||
|
|
||||||
/**
|
|
||||||
* Set whether the process is debuggable. By default the process is not
|
|
||||||
* considered debuggable. If the process is not debuggable then application-
|
|
||||||
* level tracing is not allowed unless the ro.debuggable system property is
|
|
||||||
* set to '1'.
|
|
||||||
*/
|
|
||||||
void atrace_set_debuggable(bool debuggable);
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set whether tracing is enabled for the current process. This is used to
|
* Set whether tracing is enabled for the current process. This is used to
|
||||||
* prevent tracing within the Zygote process.
|
* prevent tracing within the Zygote process.
|
||||||
|
|
|
||||||
|
|
@ -52,7 +52,6 @@ constexpr uint32_t kSeqNoNotInit = static_cast<uint32_t>(-1);
|
||||||
atomic_bool atrace_is_ready = ATOMIC_VAR_INIT(false);
|
atomic_bool atrace_is_ready = ATOMIC_VAR_INIT(false);
|
||||||
int atrace_marker_fd = -1;
|
int atrace_marker_fd = -1;
|
||||||
uint64_t atrace_enabled_tags = ATRACE_TAG_NOT_READY;
|
uint64_t atrace_enabled_tags = ATRACE_TAG_NOT_READY;
|
||||||
static bool atrace_is_debuggable = false;
|
|
||||||
static atomic_bool atrace_is_enabled = ATOMIC_VAR_INIT(true);
|
static atomic_bool atrace_is_enabled = ATOMIC_VAR_INIT(true);
|
||||||
static pthread_mutex_t atrace_tags_mutex = PTHREAD_MUTEX_INITIALIZER;
|
static pthread_mutex_t atrace_tags_mutex = PTHREAD_MUTEX_INITIALIZER;
|
||||||
|
|
||||||
|
|
@ -96,15 +95,6 @@ uint64_t atrace_get_enabled_tags()
|
||||||
return atrace_enabled_tags;
|
return atrace_enabled_tags;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set whether this process is debuggable, which determines whether
|
|
||||||
// application-level tracing is allowed when the ro.debuggable system property
|
|
||||||
// is not set to '1'.
|
|
||||||
void atrace_set_debuggable(bool debuggable)
|
|
||||||
{
|
|
||||||
atrace_is_debuggable = debuggable;
|
|
||||||
atrace_update_tags();
|
|
||||||
}
|
|
||||||
|
|
||||||
// Check whether the given command line matches one of the comma-separated
|
// Check whether the given command line matches one of the comma-separated
|
||||||
// values listed in the app_cmdlines property.
|
// values listed in the app_cmdlines property.
|
||||||
static bool atrace_is_cmdline_match(const char* cmdline)
|
static bool atrace_is_cmdline_match(const char* cmdline)
|
||||||
|
|
@ -128,24 +118,21 @@ static bool atrace_is_cmdline_match(const char* cmdline)
|
||||||
// Determine whether application-level tracing is enabled for this process.
|
// Determine whether application-level tracing is enabled for this process.
|
||||||
static bool atrace_is_app_tracing_enabled()
|
static bool atrace_is_app_tracing_enabled()
|
||||||
{
|
{
|
||||||
bool sys_debuggable = property_get_bool("ro.debuggable", 0);
|
|
||||||
bool result = false;
|
bool result = false;
|
||||||
|
|
||||||
if (sys_debuggable || atrace_is_debuggable) {
|
// Check whether tracing is enabled for this process.
|
||||||
// Check whether tracing is enabled for this process.
|
FILE * file = fopen("/proc/self/cmdline", "re");
|
||||||
FILE * file = fopen("/proc/self/cmdline", "re");
|
if (file) {
|
||||||
if (file) {
|
char cmdline[4096];
|
||||||
char cmdline[4096];
|
if (fgets(cmdline, sizeof(cmdline), file)) {
|
||||||
if (fgets(cmdline, sizeof(cmdline), file)) {
|
result = atrace_is_cmdline_match(cmdline);
|
||||||
result = atrace_is_cmdline_match(cmdline);
|
|
||||||
} else {
|
|
||||||
ALOGE("Error reading cmdline: %s (%d)", strerror(errno), errno);
|
|
||||||
}
|
|
||||||
fclose(file);
|
|
||||||
} else {
|
} else {
|
||||||
ALOGE("Error opening /proc/self/cmdline: %s (%d)", strerror(errno),
|
ALOGE("Error reading cmdline: %s (%d)", strerror(errno), errno);
|
||||||
errno);
|
|
||||||
}
|
}
|
||||||
|
fclose(file);
|
||||||
|
} else {
|
||||||
|
ALOGE("Error opening /proc/self/cmdline: %s (%d)", strerror(errno),
|
||||||
|
errno);
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue