Merge "init: log failures if a service cannot start during class_start" am: 533fbd62ab am: 5c00898944 am: d1721a9901

am: f85f4d6a28

Change-Id: I7bd3cfb30127e5af6ce457d3c5691e876faf6de4
This commit is contained in:
Tom Cherry 2017-10-03 23:03:00 +00:00 committed by android-build-merger
commit 2173e1923c
1 changed files with 8 additions and 1 deletions

View File

@ -99,7 +99,14 @@ static void ForEachServiceInClass(const std::string& classname, F function) {
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();
}