mirror of
https://github.com/systemd/systemd.git
synced 2024-12-20 07:33:41 +08:00
51bce29f8e
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
21 lines
595 B
SYSTEMD
21 lines
595 B
SYSTEMD
# This file is part of systemd.
|
|
#
|
|
# systemd is free software; you can redistribute it and/or modify it
|
|
# under the terms of the GNU Lesser General Public License as published by
|
|
# the Free Software Foundation; either version 2.1 of the License, or
|
|
# (at your option) any later version.
|
|
|
|
[Unit]
|
|
Description=udev Control Socket
|
|
Documentation=man:systemd-udevd.service(8) man:udev(7)
|
|
DefaultDependencies=no
|
|
Before=sockets.target
|
|
ConditionPathIsReadWrite=/sys
|
|
|
|
[Socket]
|
|
Service=systemd-udevd.service
|
|
ListenSequentialPacket=/run/udev/control
|
|
SocketMode=0600
|
|
PassCredentials=yes
|
|
RemoveOnStop=yes
|