Merge "Do not crash webview if its group creation fails due to a dead process" am: 1774ccf397 am: 16e6563f3f am: 431d59fb2c

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2521297

Change-Id: Iac94dcae962f1f71fd21eb1a0967c4f8d465b493
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Suren Baghdasaryan
2023-04-17 22:38:30 +00:00
committed by Automerger Merge Worker

View File

@@ -108,6 +108,7 @@ import android.os.Trace;
import android.os.UserHandle;
import android.os.storage.StorageManagerInternal;
import android.system.Os;
import android.system.OsConstants;
import android.text.TextUtils;
import android.util.ArrayMap;
import android.util.ArraySet;
@@ -2331,9 +2332,15 @@ public final class ProcessList {
if (!regularZygote) {
// webview and app zygote don't have the permission to create the nodes
if (Process.createProcessGroup(uid, startResult.pid) < 0) {
throw new AssertionError("Unable to create process group for " + app.processName
+ " (" + startResult.pid + ")");
final int res = Process.createProcessGroup(uid, startResult.pid);
if (res < 0) {
if (res == -OsConstants.ESRCH) {
Slog.e(ActivityManagerService.TAG, "Unable to create process group for "
+ app.processName + " (" + startResult.pid + ")");
} else {
throw new AssertionError("Unable to create process group for "
+ app.processName + " (" + startResult.pid + ")");
}
}
}