systemctl: logind: make logind_schedule_shutdown accept action as param

This commit is contained in:
Mike Yuan 2023-03-05 23:11:48 +08:00
parent 9071eea01b
commit 92b00e8678
No known key found for this signature in database
GPG key ID: 417471C0A40F58B3
3 changed files with 7 additions and 5 deletions

View file

@ -149,7 +149,7 @@ int halt_main(void) {
if (arg_force == 0) {
/* always try logind first */
if (arg_when > 0)
r = logind_schedule_shutdown();
r = logind_schedule_shutdown(arg_action);
else {
r = logind_check_inhibitors(arg_action);
if (r < 0)

View file

@ -291,19 +291,21 @@ int prepare_boot_loader_entry(void) {
#endif
}
int logind_schedule_shutdown(void) {
int logind_schedule_shutdown(enum action a) {
#if ENABLE_LOGIND
_cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
const char *action;
sd_bus *bus;
int r;
assert(a >= 0);
assert(a < _ACTION_MAX);
r = acquire_bus(BUS_FULL, &bus);
if (r < 0)
return r;
action = action_table[arg_action].verb;
action = action_table[a].verb;
if (!action)
return log_error_errno(SYNTHETIC_ERRNO(EINVAL), "Scheduling not supported for this action.");

View file

@ -10,7 +10,7 @@ int prepare_firmware_setup(void);
int prepare_boot_loader_menu(void);
int prepare_boot_loader_entry(void);
int logind_schedule_shutdown(void);
int logind_schedule_shutdown(enum action a);
int logind_cancel_shutdown(void);
int logind_show_shutdown(void);