diff options
Diffstat (limited to 'src/systemctl.c')
-rw-r--r-- | src/systemctl.c | 7 |
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(); |