From 396139749c42ee486c9c55e62eb75f340a9a0e90 Mon Sep 17 00:00:00 2001 From: Andreas Gampe Date: Mon, 5 Mar 2018 13:00:42 -0800 Subject: [PATCH] Zygote: Set libbase default tag on fork When forking, set the default tag to the process name, so that non-tagged logging (like ART's) get tagged accordingly. Bug: 34867873 Test: m Change-Id: I81d526c8f5af0fde488cdf8efd1835298ff501fc --- core/jni/com_android_internal_os_Zygote.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/core/jni/com_android_internal_os_Zygote.cpp b/core/jni/com_android_internal_os_Zygote.cpp index 3f95cf4607483..65325693746d0 100644 --- a/core/jni/com_android_internal_os_Zygote.cpp +++ b/core/jni/com_android_internal_os_Zygote.cpp @@ -488,6 +488,8 @@ void SetThreadName(const char* thread_name) { if (errno != 0) { ALOGW("Unable to set the name of current thread to '%s': %s", buf, strerror(errno)); } + // Update base::logging default tag. + android::base::SetDefaultTag(buf); } // The list of open zygote file descriptors. @@ -685,10 +687,10 @@ static pid_t ForkAndSpecializeCommon(JNIEnv* env, uid_t uid, gid_t gid, jintArra // Make it easier to debug audit logs by setting the main thread's name to the // nice name rather than "app_process". - if (se_info_c_str == NULL && is_system_server) { + if (se_name_c_str == NULL && is_system_server) { se_name_c_str = "system_server"; } - if (se_info_c_str != NULL) { + if (se_name_c_str != NULL) { SetThreadName(se_name_c_str); }