No description
Find a file
Tom Cherry 5938379e91 init: shutdown services in the opposite order that they started
Currently, the order that we kill to services during shutdown is the
order of services_ in ServiceManager and that is defacto the order in
which they were parsed, which is not a very useful ordering.

Related to this, we have seen a few issues during shutdown that may be
related to services with dependencies on other services, where the
dependency is killed first and the dependent service then misbehaves.

This change allows services to keep track of the order in which they
were started and shutdown then uses that information to kill running
services in the opposite order that they were started.

Bug: 64067984
Test: Boot and reboot bullhead

Change-Id: I6b4cacb03aed2a72ae98a346bce41ed5434a09c2
2017-07-26 16:48:06 -07:00
adb Remove LOCAL_CLANG and clang: true 2017-07-25 14:29:50 +02:00
adf libadfhwc: Fix adf_hwc_close 2017-03-02 17:40:16 +00:00
base Add definition of off64_t for mac os builds 2017-07-25 16:26:23 -07:00
bootstat Merge "bootstat: Log even more boot reasons." 2017-07-26 19:27:03 +00:00
cpio Possible null pointer miss on realloc 2017-03-23 22:41:14 +01:00
debuggerd Cleanup the libbacktrace interface a bit. 2017-07-19 15:36:32 -07:00
demangle Mark libdemangle as vendor_available 2017-06-14 18:58:22 +09:00
fastboot fastboot: add mke2fs and e2fsdroid to build package 2017-07-21 12:00:16 -07:00
fingerprintd fingerprint: bump hw api version to 2.1 [DO NOT MERGE] 2017-01-27 22:11:15 +00:00
fs_mgr Remove LOCAL_CLANG and clang: true 2017-07-25 14:29:50 +02:00
gatekeeperd system/core: use proper nativehelper headers 2017-07-18 17:03:20 -07:00
healthd healthd: notify listeners using local copy of list, drop lock 2017-06-29 22:25:40 +00:00
include Merge "Move libnativebridge headers into the module." 2017-07-06 23:36:34 +00:00
init init: shutdown services in the opposite order that they started 2017-07-26 16:48:06 -07:00
libappfuse Remove LOCAL_CLANG and clang: true 2017-07-25 14:29:50 +02:00
libbacktrace Cleanup the libbacktrace interface a bit. 2017-07-19 15:36:32 -07:00
libbinderwrapper libbinderwrapper: Android.mk -> Android.bp 2017-04-25 15:55:26 -07:00
libcrypto_utils Rely on the platform -std default. 2016-10-10 14:31:12 -07:00
libcutils Remove LOCAL_CLANG and clang: true 2017-07-25 14:29:50 +02:00
libdiskconfig Mark libdiskconfig vendor_available. 2017-05-24 14:21:48 -07:00
libion Remove LOCAL_CLANG and clang: true 2017-07-25 14:29:50 +02:00
libkeyutils Add libkeyutils. 2017-05-10 10:40:11 -07:00
liblog Add vendor_available to liblog_headers. 2017-07-12 12:59:30 -07:00
libmemtrack liblog: use log/log.h when utilizing ALOG macros 2017-01-11 09:31:15 -08:00
libmemunreachable Remove LOCAL_CLANG and clang: true 2017-07-25 14:29:50 +02:00
libmetricslogger Remove LOCAL_CLANG and clang: true 2017-07-25 14:29:50 +02:00
libnativebridge Remove LOCAL_CLANG and clang: true 2017-07-25 14:29:50 +02:00
libnativeloader Remove LOCAL_CLANG and clang: true 2017-07-25 14:29:50 +02:00
libnetutils Mark libnetutils vendor_available. 2017-05-24 14:18:35 -07:00
libpackagelistparser Remove LOCAL_CLANG and clang: true 2017-07-25 14:29:50 +02:00
libpixelflinger Va_end should be used with va_start 2017-03-23 22:41:42 +01:00
libprocessgroup Add memcg related configs to init. 2017-07-18 15:58:40 -07:00
libprocinfo libprocinfo: add support for parsing process state. 2017-06-27 15:06:27 -07:00
libsparse libsparse: Fix odd-sized input files total_blks 2017-04-19 10:32:45 -05:00
libsuspend Mark libsuspend vendor_available. 2017-05-24 14:44:30 -07:00
libsync Remove LOCAL_CLANG and clang: true 2017-07-25 14:29:50 +02:00
libsystem libutils: export system_headers 2017-04-28 09:42:50 +09:00
libsysutils Remove old LOG_EVENT_* code from libsysutils 2017-07-11 15:14:26 -07:00
libunwindstack Speed up StepIfSignalHandler path. 2017-07-19 21:35:46 +00:00
libusbhost Convert libusbhost to Android.bp 2017-04-20 08:37:12 -07:00
libutils Merge "Remove LOCAL_CLANG and clang: true" 2017-07-25 22:20:23 +00:00
libziparchive libziparchive: Use ReadAtOffset exclusively 2017-07-25 18:12:12 +00:00
lmkd lmkd: Android.mk -> Android.bp 2017-04-28 15:20:18 -07:00
logcat logcat: Add missing newline to read failure 2017-07-08 17:51:27 +02:00
logd Merge "logd + liblogd to Android.bp" 2017-06-30 19:32:41 +00:00
logwrapper Merge "logwrapper: add a benchmark for android_fork_execvp_ext" 2017-03-23 11:56:10 +00:00
mkbootimg mkbootimg: use int for os_version and os_patch_level 2016-03-29 16:06:37 -07:00
reboot Convert more Android.mk files to Android.bp 2016-07-13 17:41:45 -07:00
rootdir rootdir: record last build signature and kernel version 2017-07-14 11:39:14 -07:00
run-as Define range of GIDs for cached app data. 2016-12-13 13:28:08 -07:00
sdcard Remove LOCAL_CLANG and clang: true 2017-07-25 14:29:50 +02:00
shell_and_utilities Remove reference to deleted gzip module 2017-07-06 22:33:22 +00:00
toolbox Merge "Add building and installing of grep for vendor." 2017-06-16 23:24:32 +00:00
trusty system/core: use proper nativehelper headers 2017-07-18 17:03:20 -07:00
.clang-format Add a 2 width option of clang format. 2017-03-10 13:01:39 -08:00
.clang-format-2 Only allow short functions in class definitions. 2017-03-28 12:31:37 -07:00
.clang-format-4 Only allow short functions in class definitions. 2017-03-28 12:31:37 -07:00
.gitignore Ignore adb/*.pyc files 2015-08-11 12:59:58 -07:00
Android.bp Export android_filesystem_config.h as a filegroup 2017-01-17 18:20:28 -08:00
Android.mk Remove the simulator target from all makefiles. 2011-07-11 22:12:32 -07:00
CleanSpec.mk init.rc: have hwservicemanager start the HAL class 2016-09-26 00:23:51 -07:00
MODULE_LICENSE_APACHE2 auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
NOTICE Fix omission in NOTICE file. 2013-07-30 13:56:55 -07:00
platform_tools_tool_version.mk Fix warning on the build servers 2017-05-25 12:35:40 -07:00
PREUPLOAD.cfg Add a PREUPLOAD.cfg file to run git-clang-format on every commit 2017-03-08 16:51:26 +08:00