diff options
| author | Makoto Onuki <omakoto@google.com> | 2020-01-29 14:39:53 -0800 |
|---|---|---|
| committer | Makoto Onuki <omakoto@google.com> | 2020-01-29 14:39:53 -0800 |
| commit | 83679a6c5ccc7ebcca15e0ede462ec13a4a7f9c6 (patch) | |
| tree | 11294c7d079c9151e5a8b82e00ef984a54db760d /core/java | |
| parent | f0265e7208a31b7ff87e899585f0c8ff243970c6 (diff) | |
Make Log.wtf() safe to call from within the system server
Make sure to use the handler if the caller is the system server
Test: Build / treehugger / manual code inspection
Change-Id: I0c9998511280193d785ebcf7aa501ee02c0a8548
Fix: 148230239
Diffstat (limited to 'core/java')
| -rw-r--r-- | core/java/android/app/IActivityManager.aidl | 2 | ||||
| -rw-r--r-- | core/java/com/android/internal/os/RuntimeInit.java | 3 |
2 files changed, 3 insertions, 2 deletions
diff --git a/core/java/android/app/IActivityManager.aidl b/core/java/android/app/IActivityManager.aidl index 3ffd7c70b40d..be418424e64c 100644 --- a/core/java/android/app/IActivityManager.aidl +++ b/core/java/android/app/IActivityManager.aidl @@ -287,7 +287,7 @@ interface IActivityManager { void killApplicationProcess(in String processName, int uid); // Special low-level communication with activity manager. boolean handleApplicationWtf(in IBinder app, in String tag, boolean system, - in ApplicationErrorReport.ParcelableCrashInfo crashInfo); + in ApplicationErrorReport.ParcelableCrashInfo crashInfo, int immediateCallerPid); @UnsupportedAppUsage void killBackgroundProcesses(in String packageName, int userId); boolean isUserAMonkey(); diff --git a/core/java/com/android/internal/os/RuntimeInit.java b/core/java/com/android/internal/os/RuntimeInit.java index 7adb27cd9e36..db009f68d28a 100644 --- a/core/java/com/android/internal/os/RuntimeInit.java +++ b/core/java/com/android/internal/os/RuntimeInit.java @@ -468,7 +468,8 @@ public class RuntimeInit { try { if (ActivityManager.getService().handleApplicationWtf( mApplicationObject, tag, system, - new ApplicationErrorReport.ParcelableCrashInfo(t))) { + new ApplicationErrorReport.ParcelableCrashInfo(t), + Process.myPid())) { // The Activity Manager has already written us off -- now exit. Process.killProcess(Process.myPid()); System.exit(10); |
