]> git.pld-linux.org Git - packages/util-vserver.git/blobdiff - vservers.init
- use errno check as it's more reliable
[packages/util-vserver.git] / vservers.init
index 2c6fbea4047e30e9b3c0134d808027893faa4a37..51deeb7cbb55dbb4031ab3e8b2e6400850cfa0e9 100644 (file)
@@ -9,7 +9,10 @@
 # Copyright 1999-2004 Gentoo Foundation
 # Modified for PLD by Jan Rêkorajski <baggins@pld-linux.org>
 # Distributed under the terms of the GNU General Public License v2
-# 
+#
+
+# Source function library
+. /etc/rc.d/init.d/functions
 
 [ -n "$UTIL_VSERVER_VARS" ] || UTIL_VSERVER_VARS=/usr/lib/util-vserver/util-vserver-vars
 if [ ! -e "$UTIL_VSERVER_VARS" ] ; then
@@ -20,7 +23,6 @@ fi
 
 [ -f /etc/sysconfig/vservers ] && . /etc/sysconfig/vservers
 
-[ -n "$MARKS" ] || MARKS="default"
 [ -n "$NUMPARALLEL" ] || NUMPARALLEL=1
 [ -n "$LOCKDIR" ] || LOCKDIR="/var/lock/vservers"
 
@@ -43,7 +45,7 @@ start)
                exit 1
        fi
 
-       if [ is_yes "$STARTALL" ]; then
+       if is_yes "$STARTALL"; then
                if [ ! -f /var/lock/subsys/vservers-all ]; then
                        show "Starting all types of vservers"
                        busy
@@ -68,7 +70,7 @@ start)
                        [ $rc -eq 0 ] && touch /var/lock/subsys/vservers-$MARK
                done
        fi
-       
+
        for VSERVER in $START_VSERVERS; do
                if [ -f /var/lock/subsys/vserver-$VSERVER ]; then
                        echo "Vserver '$VSERVER' is already startred"
@@ -81,9 +83,14 @@ start)
                rc=$?
                [ $rc -eq 0 ] && touch /var/lock/subsys/vserver-$VSERVER
        done
+       touch /var/lock/subsys/vservers
        ;;
 stop)
-       for VSERVER in $START_VSERVERS; do
+       __STOP_VSERVERS=
+       for __V in $START_VSERVERS; do
+               __STOP_VSERVERS="$__V $__STOP_VSERVERS"
+       done
+       for VSERVER in $__STOP_VSERVERS; do
                if [ ! -f /var/lock/subsys/vserver-$VSERVER ]; then
                        echo "Vserver '$VSERVER' is not running"
                        continue
@@ -96,7 +103,7 @@ stop)
                rm -f /var/lock/subsys/vserver-$VSERVER
        done
 
-       if [ is_yes "$STARTALL" ]; then
+       if is_yes "$STARTALL"; then
                if [ -f /var/lock/subsys/vservers-all ]; then
                        show "Stopping all types of vservers"
                        busy
@@ -108,7 +115,11 @@ stop)
                        echo "All types of vservers are not running"
                fi
        else
-               for MARK in $MARKS; do
+               __STOP_MARKS=
+               for __V in $MARKS; do
+                       __STOP_MARKS="$__V $__STOP_MARKS"
+               done
+               for MARK in $__STOP_MARKS; do
                        if [ ! -f /var/lock/subsys/vservers-$MARK ]; then
                                echo "Vservers of type '$MARK' are not running"
                                continue
@@ -121,35 +132,36 @@ stop)
                        rm -f /var/lock/subsys/vservers-$MARK
                done
        fi
+       rm -f /var/lock/subsys/vservers
        ;;
 status)
        echo "The following types of vservers are running:"
-       
+
        for i in /var/lock/subsys/vservers-*; do
                [ -f "$i" ] || continue
                echo $i | awk '{gsub("/var/lock/subsys/vservers-",""); printf(" %s\n",$0); }'
-               local running="true"
+               running="true"
        done
-       
+
        if [[ "${running}" != "true" ]]; then
                echo "  none"
        fi
-       
+
        echo
        echo "/proc/virtual/ says these are running:"
-       
+
        for i in /proc/virtual/*; do
                [ -d $i ] || continue
                NAME=$( basename $( vuname -g --xid $( basename ${i} ) CONTEX ) )
                echo "  ${NAME}"
        done
-       
+
        echo
        echo "vserver-stat says these are running:"
        /usr/sbin/vserver-stat
        ;;
 *)
-       echo "Usage: $0 {start|stop|restart|status}"
+       echo "Usage: $0 {start|stop|status}"
        exit 1
        ;;
 esac
This page took 0.029399 seconds and 4 git commands to generate.