diff --git a/TODO b/TODO index db2b61c3e2..0b6573518f 100644 --- a/TODO +++ b/TODO @@ -44,12 +44,6 @@ Features: * chown() tty a service is attached to after the service goes down -* replace systemd-reboot.service's ExecStart= with a single SuccessAction= - line, so that we don't need to fork() for executing the reboot - service. Similar for other services like this, such as systemd-exit.service - and so on. Of course, for this to work service units with no ExecYYZ= set but - SuccessAction= set need to be acceptable. - * optionally: turn on cgroup delegation for per-session scope units * optionally, if a per-partition GPT flag is set for the root/home/… partitions diff --git a/units/meson.build b/units/meson.build index e4ac6ced64..3785e15dec 100644 --- a/units/meson.build +++ b/units/meson.build @@ -97,6 +97,7 @@ units = [ 'sockets.target.wants/'], ['systemd-networkd.socket', 'ENABLE_NETWORKD', join_paths(pkgsysconfdir, 'system/sockets.target.wants/')], + ['systemd-reboot.service', ''], ['systemd-rfkill.socket', 'ENABLE_RFKILL'], ['systemd-tmpfiles-clean.timer', '', 'timers.target.wants/'], @@ -182,7 +183,6 @@ in_units = [ ['systemd-quotacheck.service', 'ENABLE_QUOTACHECK'], ['systemd-random-seed.service', 'ENABLE_RANDOMSEED', 'sysinit.target.wants/'], - ['systemd-reboot.service', ''], ['systemd-remount-fs.service', '', 'local-fs.target.wants/'], ['systemd-resolved.service', 'ENABLE_RESOLVE', diff --git a/units/systemd-reboot.service.in b/units/systemd-reboot.service similarity index 89% rename from units/systemd-reboot.service.in rename to units/systemd-reboot.service index 4763ccfdca..505f60aabf 100644 --- a/units/systemd-reboot.service.in +++ b/units/systemd-reboot.service @@ -13,7 +13,4 @@ Documentation=man:systemd-halt.service(8) DefaultDependencies=no Requires=shutdown.target umount.target final.target After=shutdown.target umount.target final.target - -[Service] -Type=oneshot -ExecStart=@SYSTEMCTL@ --force reboot +SuccessAction=reboot-force