[Pm-utils] [RFC PATCH 1/3] Rearrange functions.in .

Victor Lowther victor.lowther at gmail.com
Wed Mar 5 19:51:26 PST 2008


Prepare to split functions.in into two separate files.  Do hooks really need
a function in scope that allows them to run more hooks?  I don't think so.

---
 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
-- 
1.5.4.3



More information about the Pm-utils mailing list