Merge "init: log failures if a service cannot start during class_start" am: 533fbd62ab am: 5c00898944 am: d1721a9901
am: f85f4d6a28
Change-Id: I7bd3cfb30127e5af6ce457d3c5691e876faf6de4
diff --git a/init/builtins.cpp b/init/builtins.cpp
index 4c2dc9a..9be274b 100644
--- a/init/builtins.cpp
+++ b/init/builtins.cpp
@@ -99,7 +99,14 @@
static Result<Success> do_class_start(const BuiltinArguments& args) {
// Starting a class does not start services which are explicitly disabled.
// They must be started individually.
- ForEachServiceInClass(args[1], &Service::StartIfNotDisabled);
+ for (const auto& service : ServiceList::GetInstance()) {
+ if (service->classnames().count(args[1])) {
+ if (auto result = service->StartIfNotDisabled(); !result) {
+ LOG(ERROR) << "Could not start service '" << service->name()
+ << "' as part of class '" << args[1] << "': " << result.error();
+ }
+ }
+ }
return Success();
}