diff -urN rh9.us.tuxbox.nu/etc/init.d/halt rh9-box/etc/init.d/halt --- rh9.us.tuxbox.nu/etc/init.d/halt 2003-01-14 06:36:53.000000000 +0100 +++ rh9-box/etc/init.d/halt 2005-01-24 03:42:46.000000000 +0100 @@ -60,145 +60,11 @@ sleep 5 runcmd $"Sending all processes the KILL signal..." /sbin/killall5 -9 -# Write to wtmp file before unmounting /var -/sbin/halt -w - -# Save mixer settings, here for lack of a better place. -grep -q "\(sparcaudio\|sound\)" /proc/devices -if [ $? = 0 -a -x /bin/aumix-minimal ]; then - runcmd $"Saving mixer settings" /bin/aumix-minimal -f /etc/.aumixrc -S -fi - -# Sync the system clock. -ARC=0 -SRM=0 -UTC=0 - -if [ -f /etc/sysconfig/clock ]; then - . /etc/sysconfig/clock - - # convert old style clock config to new values - if [ "${CLOCKMODE}" = "GMT" ]; then - UTC=true - elif [ "${CLOCKMODE}" = "ARC" ]; then - ARC=true - fi -fi - -CLOCKDEF="" -CLOCKFLAGS="$CLOCKFLAGS --systohc" - -case "$UTC" in - yes|true) - CLOCKFLAGS="$CLOCKFLAGS -u"; - CLOCKDEF="$CLOCKDEF (utc)"; - ;; - no|false) - CLOCKFLAGS="$CLOCKFLAGS --localtime"; - CLOCKDEF="$CLOCKDEF (localtime)"; - ;; -esac - -case "$ARC" in - yes|true) - CLOCKFLAGS="$CLOCKFLAGS -A"; - CLOCKDEF="$CLOCKDEF (arc)"; - ;; -esac -case "$SRM" in - yes|true) - CLOCKFLAGS="$CLOCKFLAGS -S"; - CLOCKDEF="$CLOCKDEF (srm)"; - ;; -esac - -runcmd $"Syncing hardware clock to system time" /sbin/hwclock $CLOCKFLAGS - -# Turn off swap, then unmount file systems. -SWAPS=`awk '! /^Filename/ { print $1 }' /proc/swaps` -[ -n "$SWAPS" ] && runcmd $"Turning off swap: " swapoff $SWAPS - -[ -x /sbin/quotaoff ] && runcmd $"Turning off quotas: " /sbin/quotaoff -aug - -# Unmount file systems, killing processes if we have to. -# Unmount loopback stuff first -remaining=`awk '!/^#/ && $1 ~ /^\/dev\/loop/ && $2 != "/" {print $2}' /proc/mounts` -devremaining=`awk '!/^#/ && $1 ~ /^\/dev\/loop/ && $2 != "/" {print $1}' /proc/mounts` -[ -n "$remaining" ] && { - sig= - retry=3 - while [ -n "$remaining" -a "$retry" -gt 0 ] - do - if [ "$retry" -lt 3 ]; then - runcmd $"Unmounting loopback filesystems (retry):" umount $remaining - else - runcmd $"Unmounting loopback filesystems: " umount $remaining - fi - for dev in $devremaining ; do - losetup $dev > /dev/null 2>&1 && \ - runcmd $"Detaching loopback device $dev: " losetup -d $dev - done - remaining=`awk '!/^#/ && $1 ~ /^\/dev\/loop/ && $2 != "/" {print $2}' /proc/mounts` - devremaining=`awk '!/^#/ && $1 ~ /^\/dev\/loop/ && $2 != "/" {print $1}' /proc/mounts` - [ -z "$remaining" ] && break - /sbin/fuser -k -m $sig $remaining >/dev/null - sleep 5 - retry=$(($retry -1)) - sig=-9 - done -} - -sig= -retry=3 -remaining=`halt_get_remaining | sort -r` - -while [ -n "$remaining" -a "$retry" -gt 0 ] -do - if [ "$retry" -lt 3 ]; then - LANG=C runcmd $"Unmounting file systems (retry): " umount -f $remaining - else - LANG=C runcmd $"Unmounting file systems: " umount -f $remaining - fi - sleep 2 - remaining=`halt_get_remaining | sort -r` - [ -z "$remaining" ] && break - /sbin/fuser -k -m $sig $remaining >/dev/null - sleep 5 - retry=$(($retry-1)) - sig=-9 -done -[ -f /proc/bus/usb/devices ] && umount /proc/bus/usb - -# remove the crash indicator flag -rm -f /.autofsck - -# Try them all, one last time. -umount -a -f - -# Remount read only anything that's left mounted. -#echo $"Remounting remaining filesystems (if any) readonly" -mount | awk '/( \/ |^\/dev\/root)/ { print $3 }' | while read line; do - mount -n -o ro,remount $line -done - # Now halt or reboot. echo $"$message" -if [ -f /fastboot ]; then - echo $"On the next boot fsck will be skipped." -elif [ -f /forcefsck ]; then - echo $"On the next boot fsck will be forced." -fi - -if [ "$command" = /sbin/halt -a -r /etc/ups/upsmon.conf -a -f /etc/killpower -a -f /etc/sysconfig/ups ] ; then - . /etc/sysconfig/ups - [ "$SERVER" = "yes" -a "$MODEL" != "NONE" -a -n "$MODEL" -a -n "$DEVICE" ] && $MODEL $OPTIONS_HALT -k $DEVICE -fi if [ -x /sbin/halt.local ]; then /sbin/halt.local fi -HALTARGS="-i -d" -[ -f /poweroff -o ! -f /halt ] && HALTARGS="$HALTARGS -p" - -exec $command $HALTARGS +exec $command