summaryrefslogtreecommitdiffstats
path: root/units/systemd-udevd-control.socket
diff options
context:
space:
mode:
authorMichal Sekletar <msekletar@users.noreply.github.com>2016-08-26 00:07:58 +0200
committerLennart Poettering <lennart@poettering.net>2016-08-26 00:07:58 +0200
commit51bce29f8eee1cdc0eb25c8fe87e69e24b5fbd98 (patch)
treed02a66576f45b5faa753e66aa08c9312a2f4cf99 /units/systemd-udevd-control.socket
parentjournal: implicitly flush to var on recovery (#4028) (diff)
downloadsystemd-51bce29f8eee1cdc0eb25c8fe87e69e24b5fbd98.tar.xz
systemd-51bce29f8eee1cdc0eb25c8fe87e69e24b5fbd98.zip
units: remove udev control socket when systemd stops the socket unit (#4039)
Mere presence of the socket in the filesystem makes udev_queue_get_udev_is_active() return that udev is running. Note that, udev on exit doesn't unlink control socket nor does systemd. Thus socket stays around even when both daemon and socket are stopped. This causes problems for cryptsetup because when it detects running udev it launches synchronous operations that *really* require udev. This in turn may cause blocking and subsequent timeout in systemd-cryptsetup on reboot while machine is in a state that udev and its control socket units are stopped, e.g. emergency mode. Fixes #2477
Diffstat (limited to 'units/systemd-udevd-control.socket')
-rw-r--r--units/systemd-udevd-control.socket1
1 files changed, 1 insertions, 0 deletions
diff --git a/units/systemd-udevd-control.socket b/units/systemd-udevd-control.socket
index 8330a1c035..46f704ed79 100644
--- a/units/systemd-udevd-control.socket
+++ b/units/systemd-udevd-control.socket
@@ -17,3 +17,4 @@ Service=systemd-udevd.service
ListenSequentialPacket=/run/udev/control
SocketMode=0600
PassCredentials=yes
+RemoveOnStop=yes