diff options
| author | 2014-07-14 15:07:04 -0700 | |
|---|---|---|
| committer | 2014-07-14 15:08:45 -0700 | |
| commit | 3089bed197a4fbfcc3fb741aa0ed6b3e162e392c (patch) | |
| tree | 07eb080c7a4bac327745284c20da9222a16babe5 | |
| parent | 85cfec811e35025dbde54f4dc09fe0e1337c36b8 (diff) | |
Zygote: make libprocessgroup failures non-fatal
createProcessGroup can fail if the kernel does not support the
cpuacct cgroup. Print a more useful error message, and don't
runtime abort.
Bug: 16243791
Change-Id: Ibbf081bda58a99c83b8070f55d151905c706b378
| -rw-r--r-- | core/jni/com_android_internal_os_Zygote.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/core/jni/com_android_internal_os_Zygote.cpp b/core/jni/com_android_internal_os_Zygote.cpp index 989b60eef0d2..64366e5a0467 100644 --- a/core/jni/com_android_internal_os_Zygote.cpp +++ b/core/jni/com_android_internal_os_Zygote.cpp @@ -439,8 +439,11 @@ static pid_t ForkAndSpecializeCommon(JNIEnv* env, uid_t uid, gid_t gid, jintArra if (!is_system_server) { int rc = createProcessGroup(uid, getpid()); if (rc != 0) { - ALOGE("createProcessGroup(%d, %d) failed: %s", uid, pid, strerror(-rc)); - RuntimeAbort(env); + if (rc == -EROFS) { + ALOGW("createProcessGroup failed, kernel missing CONFIG_CGROUP_CPUACCT?"); + } else { + ALOGE("createProcessGroup(%d, %d) failed: %s", uid, pid, strerror(-rc)); + } } } |