Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 20acdef8 authored by Tom Cherry's avatar Tom Cherry
Browse files

init: log failures if a service cannot start during class_start

Test: boot system with this logging and see appropriate failures
Change-Id: I312dca89f6215afe05b10b2539258a212a0c1ae2
parent 5eaa5bc0
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -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();
}