X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=scripts%2Fvserver-build.functions;h=f615cad3d82b84480a2ee01538adeed02da343de;hb=87c7510132eca32faf111be501a5b022cda7d2c5;hp=3508f3f43e78d9343492adfab2b389b3a94a08e3;hpb=8314751ea70853c629cbfc1c8f3ce2ea9647de3f;p=util-vserver.git diff --git a/scripts/vserver-build.functions b/scripts/vserver-build.functions index 3508f3f..f615cad 100644 --- a/scripts/vserver-build.functions +++ b/scripts/vserver-build.functions @@ -54,7 +54,8 @@ function populateDev { local spec - mkdir -p -m755 "$VDIR"/dev/pts + mkdir -p -m755 "$VDIR"/dev + mkdir -m755 "$VDIR"/dev/pts while read spec; do makeDevEntry "$VDIR"/dev $spec @@ -202,6 +203,9 @@ exist already; please try to use '--force', or remove them manually." mkdir -p -m755 "$VDIR" $_SETATTR --~barrier "$VDIR" + $_SETATTR --barrier "$VDIR"/.. || colwarn $"\ +WARNING: could not set the barrier attribute on '$VDIR/..', + please set it manually." base._addGeneratedFile "$VDIR" mkdir -p -m755 "$SETUP_CONFDIR"/apps "$VDIR"/etc @@ -256,3 +260,23 @@ function base.setSuccess { __BASE_SUCCESS=1 } + +function startSleepingGuest +{ + local guest="$1" + local timeout="${2:-15}" + $_VSERVER "$guest" start --rescue --rescue-init bash -c " + exec > /dev/null + exec 2> /dev/null + trap 'kill -s 9 -- -1; exit 0' INT + sleep $timeout + kill -s 15 -- -1 + sleep 1 + kill -s 9 -- -1" +} + +function stopSleepingGuest +{ + local guest="$1" + $_VKILL --xid "$guest" -s INT -- 0 +}