summaryrefslogtreecommitdiff
path: root/init/builtins.cpp
diff options
context:
space:
mode:
authorJiyong Park <jiyong@google.com>2018-11-12 12:08:41 +0900
committerJiyong Park <jiyong@google.com>2018-11-13 08:59:14 +0900
commit80aa44704cd1e4bf6f4255fae9842beeebc2621c (patch)
tree6f65708903417d22a50882f0cee411c03539c280 /init/builtins.cpp
parent42b38900d7f69afc610e8af4f8dc7999d3eed58b (diff)
Add support for updatable services
A service with 'updatable' option can be overriden by the same service definition in APEXes. /system/etc/init/foo.rc: service foo /system/bin/foo updatable /apex/myapex/etc/init.rc: service foo /apex/myapex/bin/foo override Overriding a non-updatable (i.e. without updatable option) service from APEXes is prohibited. When an updatable service is started before APEXes are all activated, the execution is delayed until when the APEXes are all activated. Bug: 117403679 Test: m apex.test; adb push <built_apex> /data/apex; adb reboot adb shell, then lsof -p $(pidof surfaceflinger) shows that the process is executing /apex/com.android.example.apex@1/bin/surfaceflinger instead of /system/bin/surfaceflinger Change-Id: I8a57b8e7f6da81b4d2843e261a9a935dd279067c
Diffstat (limited to 'init/builtins.cpp')
-rw-r--r--init/builtins.cpp1
1 files changed, 1 insertions, 0 deletions
diff --git a/init/builtins.cpp b/init/builtins.cpp
index 8660d2a99..5676f9206 100644
--- a/init/builtins.cpp
+++ b/init/builtins.cpp
@@ -1079,6 +1079,7 @@ static Result<Success> do_parse_apex_configs(const BuiltinArguments& args) {
}
success &= parser.ParseConfigFile(c);
}
+ ServiceList::GetInstance().MarkServicesUpdate();
if (success) {
return Success();
} else {