diff options
| -rw-r--r-- | services/core/java/com/android/server/am/ActivityManagerService.java | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java index 77d36f256803..2e272cfbc506 100644 --- a/services/core/java/com/android/server/am/ActivityManagerService.java +++ b/services/core/java/com/android/server/am/ActivityManagerService.java @@ -13523,9 +13523,11 @@ public class ActivityManagerService extends IActivityManager.Stub final ProcessRecord r = handleApplicationWtfInner(callingUid, callingPid, app, tag, crashInfo); - if (r != null && r.pid != Process.myPid() && - Settings.Global.getInt(mContext.getContentResolver(), - Settings.Global.WTF_IS_FATAL, 0) != 0) { + final boolean isFatal = "eng".equals(Build.TYPE) || Settings.Global + .getInt(mContext.getContentResolver(), Settings.Global.WTF_IS_FATAL, 0) != 0; + final boolean isSystem = (r == null) || r.persistent; + + if (isFatal && !isSystem) { mAppErrors.crashApplication(r, crashInfo); return true; } else { |