summaryrefslogtreecommitdiff
path: root/pm/functions.in
diff options
context:
space:
mode:
authorVictor Lowther <victor.lowther@gmail.com>2008-03-05 15:17:15 -0600
committerVictor Lowther <victor.lowther@gmail.com>2008-03-05 15:17:15 -0600
commit94722ed73c79fefc3e98c6cd1c194eddeb325aeb (patch)
tree355c41e76e81c8eecab754a0dd427b0c0024f15b /pm/functions.in
parent9f3e2ea40123ca048d99f2a0d3911af642c87cfa (diff)
Rearrange functions.in in preperation for splitting it in two.
Diffstat (limited to 'pm/functions.in')
-rw-r--r--pm/functions.in164
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