X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flogin%2Flogind-dbus.c;h=b92430b41ca19cea74a4c2383e25a354f229af66;hb=5f6ccb514798532d84fa6164d4358d066ccdfdd0;hp=8f563268f6a09ad0ae44c40cc8f1d7492f79e6b8;hpb=6053df4ee3a205f25b67f43ece1ff4d1202b7edb;p=elogind.git diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c index 8f563268f..b92430b41 100644 --- a/src/login/logind-dbus.c +++ b/src/login/logind-dbus.c @@ -1367,8 +1367,7 @@ static int have_multiple_sessions( static int bus_manager_log_shutdown( Manager *m, InhibitWhat w, -/// elogind does not support systemd units -#if 0 +#if 0 /// elogind does not support systemd units const char *unit_name) { const char *p, *q; @@ -1504,8 +1503,7 @@ static int execute_shutdown_or_sleep( HandleAction action, sd_bus_error *error) { -/// elogind does not need these, we do it ourselves -#if 0 +#if 0 /// elogind does not need these, we do it ourselves _cleanup_bus_message_unref_ sd_bus_message *reply = NULL; char *c = NULL; const char *p; @@ -1518,8 +1516,7 @@ static int execute_shutdown_or_sleep( bus_manager_log_shutdown(m, w, action); -/// elogind does it directly without depending on systemd running the system -#if 0 +#if 0 /// elogind does it directly without depending on systemd running the system if (m->shutdown_dry_run) { log_info("Running in dry run, suppressing action."); reset_scheduled_shutdown(m); @@ -1535,12 +1532,15 @@ static int execute_shutdown_or_sleep( "ss", NULL, "replace-irreversibly"); #else r = shutdown_or_sleep(m, action); + + /* no more pending actions, whether this failed or not */ + m->pending_action = HANDLE_IGNORE; + m->action_what = 0; #endif // 0 if (r < 0) return r; -/// elogind neither needs a dbus reply, nor supports systemd action jobs -#if 0 +#if 0 /// elogind neither needs a dbus reply, nor supports systemd action jobs r = sd_bus_message_read(reply, "o", &p); if (r < 0) return r; @@ -1865,7 +1865,7 @@ static int nologin_timeout_handler( log_info("Creating /run/nologin, blocking further logins..."); - r = write_string_file("/run/nologin", "System is going down.", WRITE_STRING_FILE_CREATE|WRITE_STRING_FILE_ATOMIC); + r = write_string_file_atomic_label("/run/nologin", "System is going down."); if (r < 0) log_error_errno(r, "Failed to create /run/nologin: %m"); else @@ -2040,7 +2040,7 @@ static int method_schedule_shutdown(sd_bus_message *message, void *userdata, sd_ r = sd_bus_query_sender_creds(message, SD_BUS_CREDS_AUGMENT|SD_BUS_CREDS_TTY|SD_BUS_CREDS_UID, &creds); if (r >= 0) { - const char *tty; + const char *tty = NULL; (void) sd_bus_creds_get_uid(creds, &m->scheduled_shutdown_uid); (void) sd_bus_creds_get_tty(creds, &tty); @@ -2052,8 +2052,7 @@ static int method_schedule_shutdown(sd_bus_message *message, void *userdata, sd_ } } -/// elogind does not support utmp-wtmp -#if 0 +#if 0 /// elogind does not support utmp-wtmp r = manager_setup_wall_message_timer(m); if (r < 0) return r; @@ -2079,8 +2078,7 @@ static int method_cancel_scheduled_shutdown(sd_bus_message *message, void *userd cancelled = m->scheduled_shutdown_type != NULL; reset_scheduled_shutdown(m); -/// elogind does not support utmp-wtmp -#if 0 +#if 0 /// elogind does not support utmp-wtmp if (cancelled) { _cleanup_bus_creds_unref_ sd_bus_creds *creds = NULL; const char *tty = NULL; @@ -2294,8 +2292,7 @@ static int property_get_reboot_to_firmware_setup( sd_bus_message *reply, void *userdata, sd_bus_error *error) { -/// elogind does not support EFI -#if 0 +#if 0 /// elogind does not support EFI int r; assert(bus); @@ -2340,8 +2337,7 @@ static int method_set_reboot_to_firmware_setup( if (r == 0) return 1; /* No authorization for now, but the async polkit stuff will call us again when it has it */ -/// elogind does not support EFI -#if 0 +#if 0 /// elogind does not support EFI r = efi_set_reboot_to_firmware(b); if (r < 0) return r; @@ -2355,8 +2351,7 @@ static int method_can_reboot_to_firmware_setup( void *userdata, sd_bus_error *error) { -/// elogind does not support EFI -#if 0 +#if 0 /// elogind does not support EFI int r; bool challenge; const char *result;