diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index 4121e864c62ba..dbfb8fbad66c2 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -15709,8 +15709,9 @@ public final class ActivityManagerService extends ActivityManagerNative } synchronized (this) { - if (callerApp != null && callerApp.pid == 0) { - // Caller already died + if (callerApp != null && (callerApp.thread == null + || callerApp.thread.asBinder() != caller.asBinder())) { + // Original caller already died return null; } ReceiverList rl