summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Prashanth Swaminathan <prashanthsw@google.com> 2023-10-27 20:54:23 +0000
committer Gerrit Code Review <noreply-gerritcodereview@google.com> 2023-10-27 20:54:23 +0000
commitc81dba07601af792788ce128eaa5262534206d0b (patch)
tree4fc6c21b9abf662dc39fbcd88c47d4fba8d7bc74
parent9df48db61c8ea6bbf5c3faf0eef6e74e3b049fd4 (diff)
parent4651c3f89d1a234a70298803eab707ed5192e812 (diff)
Merge "Set child process name with child zygote args" into main
-rw-r--r--core/java/com/android/internal/os/Zygote.java5
-rw-r--r--core/java/com/android/internal/os/ZygoteConnection.java1
2 files changed, 5 insertions, 1 deletions
diff --git a/core/java/com/android/internal/os/Zygote.java b/core/java/com/android/internal/os/Zygote.java
index 965277c4635e..1c5f4f0f1369 100644
--- a/core/java/com/android/internal/os/Zygote.java
+++ b/core/java/com/android/internal/os/Zygote.java
@@ -868,6 +868,11 @@ public final class Zygote {
args.mPkgDataInfoList, args.mAllowlistedDataInfoList,
args.mBindMountAppDataDirs, args.mBindMountAppStorageDirs);
+ // While `specializeAppProcess` sets the thread name on the process's main thread, this
+ // is distinct from the app process name which appears in stack traces, as the latter is
+ // sourced from the argument buffer of the Process class. Set the app process name here.
+ Zygote.setAppProcessName(args, TAG);
+
Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER);
return ZygoteInit.zygoteInit(args.mTargetSdkVersion,
diff --git a/core/java/com/android/internal/os/ZygoteConnection.java b/core/java/com/android/internal/os/ZygoteConnection.java
index 993e4e7b4b3d..5fe086da8c6a 100644
--- a/core/java/com/android/internal/os/ZygoteConnection.java
+++ b/core/java/com/android/internal/os/ZygoteConnection.java
@@ -296,7 +296,6 @@ class ZygoteConnection {
} else {
// child; result is a Runnable.
zygoteServer.setForkChild();
- Zygote.setAppProcessName(parsedArgs, TAG); // ??? Necessary?
return result;
}
}