X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=util-vserver%2Fscripts%2Fvserver.stop;h=40198b489d11dfb3fa5eecee7b2c08482dc6f256;hb=02598b80efa142453f5d67be4ea95e3f35d63682;hp=b2365fe3637bccb26233755c4177991991bceeb3;hpb=3d77ffaa696534e6b97e9440154091649608399e;p=util-vserver.git diff --git a/util-vserver/scripts/vserver.stop b/util-vserver/scripts/vserver.stop index b2365fe..40198b4 100644 --- a/util-vserver/scripts/vserver.stop +++ b/util-vserver/scripts/vserver.stop @@ -16,15 +16,15 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -lock "$LOCKDIR"/vserver."$(echo "$VSERVER_DIR" | tr -dc a-zA-Z0-9)".startup +lock "$__LOCKDIR"/vserver."$($_VSERVER_INFO "$VSERVER_DIR" CANONIFY)".startup if ! isVserverRunning "$VSERVER_DIR" S_CONTEXT; then - echo $"vserver '$VSERVER_NAME' is not running; aborting..." >&2 - test "$OPTION_DEBUG" || exec 2>/dev/null >/dev/null + warning $"vserver '$VSERVER_NAME' is not running" >&2 + test -n "$OPTION_DEBUG" || exec 2>/dev/null >/dev/null umountVserver "$VSERVER_DIR" || : disableInterfaces "$VSERVER_DIR" || : unlock - exit 1 + exit 0 fi function cleanup @@ -33,8 +33,8 @@ function cleanup unlock test ! -p "$sync_fifo" || { - rm -f "$sync_fifo" - rmdir $(dirname "$sync_fifo") + $_RM -f "$sync_fifo" + $_RMDIR $($_DIRNAME "$sync_fifo") } } @@ -47,6 +47,7 @@ set +e vshelper.doDestroy "$VSERVER_DIR" "$S_CONTEXT" initSync "$VSERVER_DIR" sync_fifo +prepareStop "$VSERVER_DIR" cd "$VSERVER_DIR"/vdir/ execScriptlets "$VSERVER_DIR" "$VSERVER_NAME" pre-stop @@ -55,7 +56,7 @@ cd "$VSERVER_DIR"/vdir/ test -z "$OPTION_DEFAULTTTY" || setDefaultTTY "$VSERVER_DIR" fail= -if test "$_IS_FAKEINIT" && \ +if test -n "$_IS_FAKEINIT" && \ $_VSERVER_INFO - FEATURE vkill && \ initpid=$($_VSERVER_INFO "$S_CONTEXT" INITPID 2>/dev/null); then $_VKILL -s INT -- "$initpid" || fail=1 @@ -74,7 +75,7 @@ else "${INITCMD_STOP[@]}" || fail=1 fi -test "$fail" || waitForSync "$VSERVER_DIR" "$sync_fifo" +test -n "$fail" || waitForSync "$VSERVER_DIR" "$sync_fifo" vshelper.doDestroy "$VSERVER_DIR" "$S_CONTEXT" sendKillSequence "$S_CONTEXT" "${INITKILL_SEQ[@]}"