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

Commit 071dbc17 authored by Bart Van Assche's avatar Bart Van Assche
Browse files

init: Combine the CheckShutdown() and set_do_shutdown() methods



Let the CheckShutdown() method clear the do_shutdown_ member instead of
clearing that member separately from calling CheckShutdown().

Bug: 266255006
Change-Id: Ifc1cff2be92a45db7f91be2fdb812930d2fd1ad5
Signed-off-by: default avatarBart Van Assche <bvanassche@google.com>
parent b4b1b75a
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -247,16 +247,15 @@ static class ShutdownState {
        WakeMainInitThread();
    }

    std::optional<std::string> CheckShutdown() {
    std::optional<std::string> CheckShutdown() __attribute__((warn_unused_result)) {
        auto lock = std::lock_guard{shutdown_command_lock_};
        if (do_shutdown_ && !IsShuttingDown()) {
            do_shutdown_ = false;
            return shutdown_command_;
        }
        return {};
    }

    void set_do_shutdown(bool value) { do_shutdown_ = value; }

  private:
    std::mutex shutdown_command_lock_;
    std::string shutdown_command_ GUARDED_BY(shutdown_command_lock_);
@@ -1094,7 +1093,6 @@ int SecondStageMain(int argc, char** argv) {
            LOG(INFO) << "Got shutdown_command '" << *shutdown_command
                      << "' Calling HandlePowerctlMessage()";
            HandlePowerctlMessage(*shutdown_command);
            shutdown_state.set_do_shutdown(false);
        }

        if (!(prop_waiter_state.MightBeWaiting() || Service::is_exec_service_running())) {