From 5b1aaf8cc803e9f21f8a0c94236ab5dddba4b2fc Mon Sep 17 00:00:00 2001 From: William Hubbs Date: Mon, 17 Oct 2011 13:47:45 -0500 Subject: add support for extra_stopped_commands --- sh/runscript.sh.in | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'sh/runscript.sh.in') diff --git a/sh/runscript.sh.in b/sh/runscript.sh.in index 010c794..f86a510 100644 --- a/sh/runscript.sh.in +++ b/sh/runscript.sh.in @@ -98,7 +98,8 @@ describe() fi local svc= desc= - for svc in ${extra_commands:-$opts} $extra_started_commands; do + for svc in ${extra_commands:-$opts} $extra_started_commands \ + $extra_stopped_commands; do eval desc=\$description_$svc if [ -n "$desc" ]; then einfo "$HILITE$svc$NORMAL: $desc" @@ -213,7 +214,7 @@ unset _f if [ -n "$opts" ]; then ewarn "Use of the opts variable is deprecated and will be" ewarn "removed in the future." - ewarn "Please use extra_commands or extra_started_commands." + ewarn "Please use extra_commands, extra_started_commands or extra_stopped_commands." fi while [ -n "$1" ]; do @@ -225,7 +226,7 @@ while [ -n "$1" ]; do fi # See if we have the required function and run it for _cmd in describe start stop status ${extra_commands:-$opts} \ - $extra_started_commands + $extra_started_commands $extra_stopped_commands do if [ "$_cmd" = "$1" ]; then if [ "$(command -v "$1")" = "$1" ]; then @@ -253,6 +254,16 @@ while [ -n "$1" ]; do fi fi done + # Check to see if we need to be stopped before + # we can run this command + for _cmd in $extra_stopped_commands; do + if [ "$_cmd" = "$1" ]; then + if ! service_stopped; then + eerror "$RC_SVCNAME: cannot \`$1' as it has not been stopped" + exit 1 + fi + fi + done unset _cmd if [ "$(command -v "$1_pre")" = "$1_pre" ] then -- cgit v1.2.3