summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Martijn Coenen <maco@google.com> 2020-05-29 14:49:25 +0200
committer Martijn Coenen <maco@google.com> 2020-05-29 14:33:49 +0000
commit0a91f61ac8387c02528e0f6f0948296ba9d5ca77 (patch)
tree404e7831c07f803295aee5a54bde91687c3a5cec
parentf281109786cfb7b5d1cbfd8a9e21088ee5c87348 (diff)
Use killProcessGroup when killing app zygote.
To make sure we kill all untracked children, too. Bug: 156741968 Bug: 157598956 Test: manual inspection, PoC no longer works. Change-Id: I5d8efeb05ddec08a7fc7c00eabca6590c4cfdd8c
-rw-r--r--core/java/android/os/AppZygote.java5
1 files changed, 2 insertions, 3 deletions
diff --git a/core/java/android/os/AppZygote.java b/core/java/android/os/AppZygote.java
index 6daa5b4dc6d8..66f50e4b2610 100644
--- a/core/java/android/os/AppZygote.java
+++ b/core/java/android/os/AppZygote.java
@@ -90,10 +90,9 @@ public class AppZygote {
@GuardedBy("mLock")
private void stopZygoteLocked() {
if (mZygote != null) {
- // Close the connection and kill the zygote process. This will not cause
- // child processes to be killed by itself.
mZygote.close();
- Process.killProcess(mZygote.getPid());
+ // use killProcessGroup() here, so we kill all untracked children as well.
+ Process.killProcessGroup(mZygoteUid, mZygote.getPid());
mZygote = null;
}
}