summaryrefslogtreecommitdiff
path: root/rc.single
diff options
context:
space:
mode:
authorThomas Bächler <thomas@archlinux.org>2009-08-24 19:32:30 +0200
committerThomas Bächler <thomas@archlinux.org>2009-08-24 19:32:30 +0200
commit76bb11cb8b5374ff2bba79afc80c408f61779f0c (patch)
tree3174226cd573a0560dba6a0f72ce68347d724c9a /rc.single
parentf8f47d1b0d915485ccc08dcfaa5b312b44c67322 (diff)
Remove support for static filesystem and make code in rc.single look like the code in rc.sysinit/rc.shutdown
udev has been a dependency of initscripts for a long time, the system won't work without it anyway. Thus remove the "Using static filesystem" message which does nothing anyway and always try to start udevd At the same time, update the killall5 and udev start code in rc.single
Diffstat (limited to 'rc.single')
-rwxr-xr-xrc.single26
1 files changed, 16 insertions, 10 deletions
diff --git a/rc.single b/rc.single
index fd74487..50b7cfb 100755
--- a/rc.single
+++ b/rc.single
@@ -26,27 +26,33 @@ if [ "$PREVLEVEL" = "3" -o "$PREVLEVEL" = "5" ]; then
fi
if [ "$PREVLEVEL" != "N" ]; then
+ # Terminate all processes
stat_busy "Sending SIGTERM To Processes"
/sbin/killall5 -15 &> /dev/null
/bin/sleep 5
stat_done
stat_busy "Sending SIGKILL To Processes"
- /sbin/killall5 -9
+ /sbin/killall5 -9 &> /dev/null
/bin/sleep 1
stat_done
- if [ -x /sbin/udevadm ]; then
- stat_busy "Starting UDev Daemon"
- /sbin/udevd --daemon
- stat_done
- stat_busy "Loading UDev uevents"
- /sbin/udevadm trigger
+ stat_busy "Starting UDev Daemon"
+ /sbin/udevd --daemon
+ stat_done
+
+ # Trigger udev uevents
+ if /bin/pidof -o %PPID /sbin/udevd >/dev/null; then
+ stat_busy "Triggering UDev uevents"
+ /sbin/udevadm trigger
+ stat_done
+ fi
+
+ # Wait for udev uevents
+ if /bin/pidof -o %PPID /sbin/udevd >/dev/null; then
+ stat_busy "Waiting for UDev uevents to be processed"
/sbin/udevadm settle
stat_done
- else
- # Static /dev, our last resort
- status "Using static /dev filesystem" /bin/true
fi
# try syslog-NG first, then fall back to good ol' syslogd