systemctl: if no logind, don't try to schedule shutdown
If logind is not supported, don't try to schedule a shutdown,
immediately poweroff. This is the behavior indicated by the current
message given to the user, but the command is returning an error. I
believe this was broken on this commit:
7f96539d45
This commit is contained in:
parent
a204d54b8e
commit
c68867da32
|
@ -8511,7 +8511,6 @@ static int halt_now(enum action a) {
|
||||||
|
|
||||||
static int logind_schedule_shutdown(void) {
|
static int logind_schedule_shutdown(void) {
|
||||||
|
|
||||||
#if ENABLE_LOGIND
|
|
||||||
_cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
|
_cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
|
||||||
char date[FORMAT_TIMESTAMP_MAX];
|
char date[FORMAT_TIMESTAMP_MAX];
|
||||||
const char *action;
|
const char *action;
|
||||||
|
@ -8563,10 +8562,6 @@ static int logind_schedule_shutdown(void) {
|
||||||
if (!arg_quiet)
|
if (!arg_quiet)
|
||||||
log_info("Shutdown scheduled for %s, use 'shutdown -c' to cancel.", format_timestamp(date, sizeof(date), arg_when));
|
log_info("Shutdown scheduled for %s, use 'shutdown -c' to cancel.", format_timestamp(date, sizeof(date), arg_when));
|
||||||
return 0;
|
return 0;
|
||||||
#else
|
|
||||||
log_error("Cannot schedule shutdown without logind support, proceeding with immediate shutdown.");
|
|
||||||
return -ENOSYS;
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static int halt_main(void) {
|
static int halt_main(void) {
|
||||||
|
@ -8577,7 +8572,11 @@ static int halt_main(void) {
|
||||||
return r;
|
return r;
|
||||||
|
|
||||||
if (arg_when > 0)
|
if (arg_when > 0)
|
||||||
|
#if ENABLE_LOGIND
|
||||||
return logind_schedule_shutdown();
|
return logind_schedule_shutdown();
|
||||||
|
#else
|
||||||
|
log_error("Cannot schedule shutdown without logind support, proceeding with immediate shutdown.");
|
||||||
|
#endif
|
||||||
|
|
||||||
if (geteuid() != 0) {
|
if (geteuid() != 0) {
|
||||||
if (arg_dry_run || arg_force > 0) {
|
if (arg_dry_run || arg_force > 0) {
|
||||||
|
|
Loading…
Reference in a new issue