diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index 91736f38aba18..10593ae8b0b18 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -15262,8 +15262,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