summaryrefslogtreecommitdiff
path: root/src/systemctl.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/systemctl.c')
-rw-r--r--src/systemctl.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/systemctl.c b/src/systemctl.c
index 9a85383dba..167c6a5b7f 100644
--- a/src/systemctl.c
+++ b/src/systemctl.c
@@ -4680,9 +4680,12 @@ static int halt_main(DBusConnection *bus) {
if (!arg_dry && !arg_immediate)
return start_with_fallback(bus);
- if (!arg_no_wtmp)
- if ((r = utmp_put_shutdown(0)) < 0)
+ if (!arg_no_wtmp) {
+ if (sd_booted() > 0)
+ log_debug("Not writing utmp record, assuming that systemd-update-utmp is used.");
+ else if ((r = utmp_put_shutdown(0)) < 0)
log_warning("Failed to write utmp record: %s", strerror(-r));
+ }
if (!arg_no_sync)
sync();