From 7a37977456afa9b11467cfb9feef450274346202 Mon Sep 17 00:00:00 2001 From: "Kurt J. Bosch" Date: Sat, 25 Jun 2011 11:00:12 +0200 Subject: Fix local statements missing in ck_depends, ck_pidfile, do_unlock, kill_everything --- functions | 4 ++++ rc.sysinit | 12 ++++++------ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/functions b/functions index c6416d9..6e4fc3a 100644 --- a/functions +++ b/functions @@ -210,6 +210,7 @@ start_daemon() { # Never use this function, it causes daemons to be stoped in the wrong order. # The only way to start a daemon at boot is to add it to the DAEMONS array. ck_depends() { + local daemon for daemon in "$@"; do ck_daemon "$daemon" && start_daemon "$daemon" done @@ -251,6 +252,7 @@ get_pid() { # Check if PID-file $1 is still the active PID-file for command $2 ck_pidfile() { if [[ -f "$1" ]]; then + local fpid ppid read -r fpid <"$1" ppid=$(get_pid $2) [[ "$fpid" = "$ppid" ]] && return 0 @@ -270,6 +272,7 @@ kill_everything() { # $1 = where we are being called from. # This is used to determine which hooks to run. # Find daemons NOT in the DAEMONS array. Shut these down first + local daemon for daemon in /run/daemons/*; do [[ -f $daemon ]] || continue daemon=${daemon##*/} @@ -277,6 +280,7 @@ kill_everything() { done # Shutdown daemons in reverse order + local i for (( i=${#DAEMONS[@]}-1; i>=0; i-- )); do [[ ${DAEMONS[i]} = '!'* ]] && continue ck_daemon ${DAEMONS[i]#@} || stop_daemon ${DAEMONS[i]#@} diff --git a/rc.sysinit b/rc.sysinit index f415895..9f9eb0c 100755 --- a/rc.sysinit +++ b/rc.sysinit @@ -137,12 +137,12 @@ if [[ -f /etc/crypttab && $CS ]] && grep -q ^[^#] /etc/crypttab; then printf "\nOpening '$1' volume:\n" $CS $4 $open "$a" "$b" < /dev/console;; /dev*) - ckdev=${3%%:*} - cka=${3#*:} - ckb=${cka#*:} - cka=${cka%:*} - ckfile=/dev/ckfile - ckdir=/dev/ckdir + local ckdev=${3%%:*} + local cka=${3#*:} + local ckb=${cka#*:} + local cka=${cka%:*} + local ckfile=/dev/ckfile + local ckdir=/dev/ckdir case ${cka} in *[!0-9]*) # Use a file on the device -- cgit v1.2.3