summaryrefslogtreecommitdiffstats
path: root/init/service.cpp
diff options
context:
space:
mode:
authorZimuzo <zezeozue@google.com>2019-01-14 16:16:07 +0000
committerZimuzo <zezeozue@google.com>2019-01-14 16:22:10 +0000
commitc661b660fe1eaa82e13ca898390517a94df256c8 (patch)
tree70c6f5b57adbc66b7766a58b97b8a9a329ed5b5c /init/service.cpp
parent9e03e1d2dc3995da90f749a6fbcb73e66f7d4ced (diff)
downloadsystem_core-c661b660fe1eaa82e13ca898390517a94df256c8.tar.gz
system_core-c661b660fe1eaa82e13ca898390517a94df256c8.tar.bz2
system_core-c661b660fe1eaa82e13ca898390517a94df256c8.zip
Identify post-apexd crashing processes
I7d47ea1223f7792a834981c729694242ab3f28c9 tried to identify processes that crash after apexd is ready by introducing an 'updatable' class. However, after I7ca67755dc0656c0f0c834ba94bf23ba9b1aca68 we now have a pre_apexd_ field we can reuse instead of introducing a new class type. Bug: 120598832 Test: Killing a !pre_apexd_ process 4 times in 4mins sets the ro.init.updatable.crashing prop while killing a pre_apexd_ process reboots into the bootloader Change-Id: Icb9f405b9b54d11546bbf6d3bc28212936a78b0e
Diffstat (limited to 'init/service.cpp')
-rw-r--r--init/service.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/init/service.cpp b/init/service.cpp
index eec55c3c0..f3eafe410 100644
--- a/init/service.cpp
+++ b/init/service.cpp
@@ -406,7 +406,7 @@ void Service::Reap(const siginfo_t& siginfo) {
// If we crash > 4 times in 4 minutes, reboot into bootloader or set crashing property
boot_clock::time_point now = boot_clock::now();
- if (((flags_ & SVC_CRITICAL) || classnames_.count("updatable")) && !(flags_ & SVC_RESTART)) {
+ if (((flags_ & SVC_CRITICAL) || !pre_apexd_) && !(flags_ & SVC_RESTART)) {
if (now < time_crashed_ + 4min) {
if (++crash_count_ > 4) {
if (flags_ & SVC_CRITICAL) {