diff options
-rw-r--r-- | nshd.service.in | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/nshd.service.in b/nshd.service.in index 176d276..7760687 100644 --- a/nshd.service.in +++ b/nshd.service.in @@ -15,3 +15,16 @@ ExecReload=/bin/kill -HUP $MAINPID [Install] Also=nshd.socket + +# The following is a workaround for a scheduling deadlock in systemd +# v230 (and probably other versions). What "naturally" happens is +# that we would be socket-activated by systemd-logind which is +# dbus-activated during systemd' dbus_init(), which is called when +# dbus.service starts. However, systemd is buggy and won't activate +# any services during dbus_init(), so the whole thing deadlocks. A +# timeout means that boot eventually continues, but we are left with a +# half-working system. +[Unit] +Before=dbus.service +[Install] +WantedBy=dbus.service |