summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxime Ripard <maxime.ripard@free-electrons.com>2012-01-11 17:09:22 (GMT)
committer Peter Korsgaard <jacmet@sunsite.dk>2012-01-11 17:33:03 (GMT)
commita0aa54eb0d741108743d230bce2f2deb054ba9c5 (patch)
tree06a68854b1a9352959e919a52f1a034daba5cf3f
parente6480f2bb91e2df46096ed5f6ef8d3138cd38470 (diff)
downloadbuildroot-a0aa54eb0d741108743d230bce2f2deb054ba9c5.tar.gz
buildroot-a0aa54eb0d741108743d230bce2f2deb054ba9c5.tar.bz2
Rework of shutdown policy in inittab
This commit follows commit ad501b66. Start up of the busybox logging daemons were moved to an init script but the shutdown were still performed in inittab. This commit moves the shutdown policy to an rcK script that calls the stop function of all the init scripts in a reversed order. Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
-rwxr-xr-xfs/skeleton/etc/init.d/rcK27
-rw-r--r--fs/skeleton/etc/inittab3
2 files changed, 28 insertions, 2 deletions
diff --git a/fs/skeleton/etc/init.d/rcK b/fs/skeleton/etc/init.d/rcK
new file mode 100755
index 0000000..59e9c54
--- /dev/null
+++ b/fs/skeleton/etc/init.d/rcK
@@ -0,0 +1,27 @@
+#!/bin/sh
+
+
+# Stop all init scripts in /etc/init.d
+# executing them in reversed numerical order.
+#
+for i in $(ls -r /etc/init.d/S??*) ;do
+
+ # Ignore dangling symlinks (if any).
+ [ ! -f "$i" ] && continue
+
+ case "$i" in
+ *.sh)
+ # Source shell script for speed.
+ (
+ trap - INT QUIT TSTP
+ set stop
+ . $i
+ )
+ ;;
+ *)
+ # No sh extension, so fork subprocess.
+ $i stop
+ ;;
+ esac
+done
+
diff --git a/fs/skeleton/etc/inittab b/fs/skeleton/etc/inittab
index ac410d6..85881f4 100644
--- a/fs/skeleton/etc/inittab
+++ b/fs/skeleton/etc/inittab
@@ -30,8 +30,7 @@ null::sysinit:/bin/hostname -F /etc/hostname
::ctrlaltdel:/sbin/reboot
# Stuff to do before rebooting
-null::shutdown:/usr/bin/killall klogd
-null::shutdown:/usr/bin/killall syslogd
+null::shutdown:/etc/init.d/rcK
null::shutdown:/bin/umount -a -r
null::shutdown:/sbin/swapoff -a