From: Ray Strode Date: Wed, 20 Jun 2012 15:57:06 +0000 (-0400) Subject: systemd: more udev clean ups X-Git-Tag: 0.8.6~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=675553481d3335fe00bc70adebdee526be2bd90c;p=thirdparty%2Fplymouth.git systemd: more udev clean ups The udev trigger calls that are there, are actually spurious. udev will coldplug those subsystems at start up anyway, so doing it explicitly is wrong. This commit drops those trigger calls. What does matter is the udevadm settle call. It's what makes things block until the graphics driver is loaded. udevadm settle is a big sledgehammer, though. It blocks until all the triggered events (even stuff unrelated to graphics) are finished. This commit adds a --exit-if-exists argument to udevadm settle, so it will bail early as soon as the graphics devices are up. --- diff --git a/systemd-units/plymouth-start.service.in b/systemd-units/plymouth-start.service.in index 3fc4a7f4..e49b5f03 100644 --- a/systemd-units/plymouth-start.service.in +++ b/systemd-units/plymouth-start.service.in @@ -9,5 +9,5 @@ ConditionPathExists=!@plymouthruntimedir@/pid [Service] ExecStart=@PLYMOUTH_DAEMON_DIR@/plymouthd --mode=boot --pid-file=@plymouthruntimedir@/pid --attach-to-session -ExecStartPost=-/bin/udevadm trigger --action=add --subsystem-match=graphics --subsystem-match=drm --subsystem-match=tty ; -/bin/udevadm settle --timeout=30 ; -@PLYMOUTH_CLIENT_DIR@/plymouth show-splash +ExecStartPost=-/bin/udevadm settle --timeout=30 --exit-if-exists=/sys/class/drm/card0/dev;-/bin/udevadm settle --timeout=30 --exit-if-exists=/sys/class/graphics/fb0/dev; -@PLYMOUTH_CLIENT_DIR@/plymouth show-splash Type=forking