From: Harald Hoyer Date: Thu, 14 Apr 2011 10:00:11 +0000 (+0200) Subject: base/init: use "udevadm control --exit" and "udevadm info --cleanup-db" X-Git-Tag: 011~91 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6a168568a5872a6f989a21743ce4d37a3faedc0e;p=thirdparty%2Fdracut.git base/init: use "udevadm control --exit" and "udevadm info --cleanup-db" For udev >= 168 use the advanced udevadm features for shutting down udev. Thanks Kay!!! --- diff --git a/modules.d/99base/init b/modules.d/99base/init index 3569f0b60..b7c2d1b2a 100755 --- a/modules.d/99base/init +++ b/modules.d/99base/init @@ -321,16 +321,23 @@ done getarg rd.break rdbreak && emergency_shell -n switch_root "Break before switch_root" -# stop udev queue before killing it -udevadm control --stop-exec-queue -HARD="" -while pidof udevd >/dev/null 2>&1; do - for pid in $(pidof udevd); do - kill $HARD $pid >/dev/null 2>&1 + +if [ $UDEVVERSION -lt 168 ]; then + # stop udev queue before killing it + udevadm control --stop-exec-queue + + HARD="" + while pidof udevd >/dev/null 2>&1; do + for pid in $(pidof udevd); do + kill $HARD $pid >/dev/null 2>&1 + done + HARD="-9" done - HARD="-9" -done +else + udevadm control --exit + udevadm info --cleanup-db +fi set +x # Turn off debugging for this section # Clean up the environment