chiark / gitweb /
systemctl: skip writing of utmp if we booted using systemd, under the assumption...
[elogind.git] / src / systemctl.c
index 9a85383dbadf84114136c5eb4d383db342e35922..167c6a5b7f2a56e2db407cbb7d1b49c70b9c604a 100644 (file)
@@ -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();