diff options
author | Victor Lowther <victor.lowther@gmail.com> | 2008-03-05 15:17:15 -0600 |
---|---|---|
committer | Victor Lowther <victor.lowther@gmail.com> | 2008-03-05 15:17:15 -0600 |
commit | 94722ed73c79fefc3e98c6cd1c194eddeb325aeb (patch) | |
tree | 355c41e76e81c8eecab754a0dd427b0c0024f15b /pm/functions.in | |
parent | 9f3e2ea40123ca048d99f2a0d3911af642c87cfa (diff) |
Rearrange functions.in in preperation for splitting it in two.
Diffstat (limited to 'pm/functions.in')
-rw-r--r-- | pm/functions.in | 164 |
1 files changed, 82 insertions, 82 deletions
diff --git a/pm/functions.in b/pm/functions.in index e0fc960..bfa9a55 100644 --- a/pm/functions.in +++ b/pm/functions.in @@ -9,7 +9,10 @@ # RESUME_MODULES # # for great debugging! -[ "${PM_DEBUG}" = "true" ] && set -x +[ "${PM_DEBUG}" = "true" ] && { + export PM_DEBUG + set -x +} set -a PM_UTILS_LIBDIR="@PM-UTILS-LIBDIR@" PM_UTILS_ETCDIR="@PM-UTILS-SYSCONFDIR@" @@ -34,17 +37,87 @@ export LC_COLLATE=C set +a -source_configs() +for cfg in "${PM_UTILS_ETCDIR}"/config.d/*[!~] ; do + [ -f "$cfg" ] || continue + set -a + . "${cfg}" + set +a +done + +take_suspend_lock() { - for cfg in "${PM_UTILS_ETCDIR}"/config.d/*[!~] ; do - [ -f "$cfg" ] || continue - set -a - . "${cfg}" - set +a + VT=$(fgconsole) + chvt 63 + try_lock "pm-utils.lock" || return 1 + mkdir -p "${STORAGEDIR}" + return 0 +} + +remove_suspend_lock() +{ + rm -rf "${STORAGEDIR}" + chvt 1 + chvt $VT + release_lock "pm-utils.lock" +} + +hook_exit_status(){ + case $1 in + 0) echo "success." ;; + $NA) echo "not applicable." ;; + *) echo "Returned exit code $1." ;; + esac +} + +run_hooks() { + # $1 = type of hook to find. + # $2 = paramaters to pass to hooks. + # $3 = if present and equal to "reverse", run hooks backwards. + # Currently only power and sleep are meaningful. + local syshooks="${PM_UTILS_ETCDIR}/$1.d" + local phooks="${PM_UTILS_LIBDIR}/$1.d" + local sort="sort" + local base + local hook + local oifs="${IFS}" + # the next two lines are not a typo or a formatting error! + local nifs=" +" + IFS="${nifs}" # tolerate spaces in filenames. + [ "$3" = "reverse" ] && sort="sort -r" + for base in $(IFS="${oifs}"; for f in "$syshooks/"*[!~] "$phooks/"*[!~]; + do [ -O "$f" ] && echo ${f##*/} ; done | $sort | uniq) ; + do + if [ -f "$syshooks/$base" ]; then + hook="$syshooks/$base" + elif [ -f "$phooks/$base" ]; then + hook="$phooks/$base" + fi + [ -x "${hook}" ] && ( + IFS="${oifs}" + echo "$(date): running ${hook} $2" + "${hook}" $2 + hook_exit_status $? + ) done + IFS="${oifs}" +} + +init_logfile() +{ + if [ -h "$1" ]; then + echo "$1 is a symbolic link, refusing to overwrite." + return 1 + elif [ ! -O "$1" ]; then + echo "We do not own $1, refusing to overwrite." + return 1 + elif [ -z "$1" ]; then + echo "Please pass a filename to init_logfile." + return 1 + fi + exec > "$1" 2>&1 } -source_configs SLEEP_FUNCTIONS="${PM_UTILS_LIBDIR}/module.d/${SLEEP_MODULE}" [ -f "${SLEEP_FUNCTIONS}" ] || { @@ -54,6 +127,7 @@ SLEEP_FUNCTIONS="${PM_UTILS_LIBDIR}/module.d/${SLEEP_MODULE}" . "${SLEEP_FUNCTIONS}" + # try to take the lock. Fail if we cannot get it. try_lock() { @@ -93,23 +167,6 @@ release_lock() } -take_suspend_lock() -{ - VT=$(fgconsole) - chvt 63 - try_lock "pm-utils.lock" || return 1 - mkdir -p "${STORAGEDIR}" - return 0 -} - -remove_suspend_lock() -{ - rm -rf "${STORAGEDIR}" - chvt 1 - chvt $VT - release_lock "pm-utils.lock" -} - command_exists() { @@ -119,48 +176,6 @@ command_exists() return $? } -hook_exit_status(){ - case $1 in - 0) echo "success." ;; - $NA) echo "not applicable." ;; - *) echo "Returned exit code $1." ;; - esac -} - -run_hooks() { - # $1 = type of hook to find. - # $2 = paramaters to pass to hooks. - # $3 = if present and equal to "reverse", run hooks backwards. - # Currently only power and sleep are meaningful. - local syshooks="${PM_UTILS_ETCDIR}/$1.d" - local phooks="${PM_UTILS_LIBDIR}/$1.d" - local sort="sort" - local base - local hook - local oifs="${IFS}" - # the next two lines are not a typo or a formatting error! - local nifs=" -" - IFS="${nifs}" # tolerate spaces in filenames. - [ "$3" = "reverse" ] && sort="sort -r" - for base in $(IFS="${oifs}"; for f in "$syshooks/"*[!~] "$phooks/"*[!~]; - do [ -O "$f" ] && echo ${f##*/} ; done | $sort | uniq) ; - do - if [ -f "$syshooks/$base" ]; then - hook="$syshooks/$base" - elif [ -f "$phooks/$base" ]; then - hook="$phooks/$base" - fi - [ -x "${hook}" ] && ( - IFS="${oifs}" - echo "$(date): running ${hook} $2" - "${hook}" $2 - hook_exit_status $? - ) - done - IFS="${oifs}" -} - get_power_status() { RETVAL=0 @@ -180,21 +195,6 @@ get_power_status() return $RETVAL } -init_logfile() -{ - if [ -h "$1" ]; then - echo "$1 is a symbolic link, refusing to overwrite." - return 1 - elif [ ! -O "$1" ]; then - echo "We do not own $1, refusing to overwrite." - return 1 - elif [ -z "$1" ]; then - echo "Please pass a filename to init_logfile." - return 1 - fi - exec > "$1" 2>&1 -} - _rmmod() { if modprobe -r "$1"; then |