diff options
author | Roy Marples <roy@marples.name> | 2007-11-29 16:23:59 +0000 |
---|---|---|
committer | Roy Marples <roy@marples.name> | 2007-11-29 16:23:59 +0000 |
commit | 16ad975b2de79f0fa9ae27940598658247bd3c5e (patch) | |
tree | 0bff815da65564bcd98c8af95693f7b877ed57e5 /sh | |
parent | 82df7e4584282896a0618f14cca2dd3f3d23e8a2 (diff) |
Allow services to define which extra commands require the service to be started
Diffstat (limited to 'sh')
-rwxr-xr-x | sh/runscript.sh | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/sh/runscript.sh b/sh/runscript.sh index 44ebd812..641febcf 100755 --- a/sh/runscript.sh +++ b/sh/runscript.sh @@ -144,7 +144,8 @@ fi while [ -n "$1" ]; do # See if we have the required function and run it - for _cmd in describe start stop ${extra_commands:-${opts}}; do + for _cmd in describe start stop ${extra_commands:-${opts}} \ + ${extra_started_commands}; do if [ "${_cmd}" = "$1" ]; then if type "$1" >/dev/null 2>&1; then # If we're in the background, we may wish to fake some @@ -159,6 +160,16 @@ while [ -n "$1" ]; do fi done fi + # Check to see if we need to be started before we can run + # this command + for _cmd in ${extra_started_commands}; do + if [ "${_cmd}" = "$1" ]; then + if ! service_started "${SVCNAME}"; then + eerror "${SVCNAME}: cannot \`$1' as it has not been started" + exit 1 + fi + fi + done unset _cmd if type "$1"_pre >/dev/null 2>&1; then "$1"_pre || exit $? |