I'm observing since long time that restarting udev have to be done twice. First time: # /etc/init.d/udev -D restart * Stopping udev ... [ ok ] * Starting udev ... * start-stop-daemon: /lib/systemd/systemd-udevd is already running * Failed to start udev [ !! ] Second pass: # /etc/init.d/udev -D restart * Stopping udev ... * Failed to stop udev using udevadm [ !! ] * Trying with start-stop-daemon ... * start-stop-daemon: no matching processes found [ ok ] * Starting udev ... starting version 225 [ ok ] This usually happens on not-idling hosts. Reproducible: Always Actual Results: As above.
Any comments about it?
Ping.
The init script calls "udevadm control --exit", which has a default timeout of 60 seconds. Is that insufficient, or is it not working properly?
It doesn't work correctly. Init script throws mentioned error after maybe 5 seconds.
In that case, this is probably a bug that belongs upstream. udevadm should not exit until udevd has terminated or the 60 second timeout has expired.
I suppose it is also possible that OpenRC has some timeout function for the stop() function as a whole... probably worth looking into.
time /etc/init.d/udev --nodeps restart * Stopping udev ... [ ok ] * Starting udev ... * start-stop-daemon: /lib/systemd/systemd-udevd is already running * Failed to start udev [ !! ] real 0m1.185s user 0m0.035s sys 0m0.048s Next try after a minute: time /etc/init.d/udev --nodeps restart * Stopping udev ... * Failed to stop udev using udevadm [ !! ] * Trying with start-stop-daemon ... * start-stop-daemon: no matching processes found [ ok ] * Starting udev ... starting version 233 [ ok ] real 0m0.156s user 0m0.068s sys 0m0.003s
Is this still an issue?