Merge "Revert "Remove an unnecessary finger check when re-marking roots."" into dalvik-dev
diff --git a/vm/alloc/HeapBitmap.h b/vm/alloc/HeapBitmap.h
index b0dea99..8474963 100644
--- a/vm/alloc/HeapBitmap.h
+++ b/vm/alloc/HeapBitmap.h
@@ -146,8 +146,8 @@
word &= ~(highBit >> shift);
void *addr = (void *)(ptrBase + shift * HB_OBJECT_ALIGNMENT);
(*callback)(addr, arg);
- end = HB_OFFSET_TO_INDEX(bitmap->max - bitmap->base);
}
+ end = HB_OFFSET_TO_INDEX(bitmap->max - bitmap->base);
}
}
}
diff --git a/vm/native/dalvik_system_Zygote.c b/vm/native/dalvik_system_Zygote.c
index 8b09b96..c762f51 100644
--- a/vm/native/dalvik_system_Zygote.c
+++ b/vm/native/dalvik_system_Zygote.c
@@ -366,7 +366,8 @@
err = prctl(PR_SET_KEEPCAPS, 1, 0, 0, 0);
if (err < 0) {
- LOGW("cannot PR_SET_KEEPCAPS: %s", strerror(errno));
+ LOGE("cannot PR_SET_KEEPCAPS: %s", strerror(errno));
+ dvmAbort();
}
}
@@ -375,23 +376,27 @@
err = setgroupsIntarray(gids);
if (err < 0) {
- LOGW("cannot setgroups(): %s", strerror(errno));
+ LOGE("cannot setgroups(): %s", strerror(errno));
+ dvmAbort();
}
err = setrlimitsFromArray(rlimits);
if (err < 0) {
- LOGW("cannot setrlimit(): %s", strerror(errno));
+ LOGE("cannot setrlimit(): %s", strerror(errno));
+ dvmAbort();
}
err = setgid(gid);
if (err < 0) {
- LOGW("cannot setgid(%d): %s", gid, strerror(errno));
+ LOGE("cannot setgid(%d): %s", gid, strerror(errno));
+ dvmAbort();
}
err = setuid(uid);
if (err < 0) {
- LOGW("cannot setuid(%d): %s", uid, strerror(errno));
+ LOGE("cannot setuid(%d): %s", uid, strerror(errno));
+ dvmAbort();
}
/*