X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=distrib%2Fredhat%2Finitpost;h=4157a2b5194c74bb8878365ebb99affab92706bf;hb=95e2774070e989fe9cf9f48dae5fa054e55e2a3e;hp=f2816561ec36cf892be0a6d1e2b0dfdedba26499;hpb=2822ba293eb308225c50d346930c47bf98d9927b;p=util-vserver.git diff --git a/distrib/redhat/initpost b/distrib/redhat/initpost index f281656..4157a2b 100755 --- a/distrib/redhat/initpost +++ b/distrib/redhat/initpost @@ -40,6 +40,24 @@ function subst rm -f $tmp } +vserver=$1 + +## Do some magic to set the vserver into a defined state +$_VSERVER "$vserver" stop &>/dev/null || : +$_VSERVER "$vserver" start --rescue --rescue-init bash -c ' + exec >/dev/null + exec 2>/dev/null + + set -x + f=/tmp/startwait + trap "rm -f $f" EXIT + mkfifo $f + ( sleep 15; kill -s 9 -- -1 ) & + cat "$f" >/dev/null + kill -s 9 -- -1 + wait +' + pushd "$vdir"/etc/init.d &>/dev/null || pushd "$vdir"/etc/rc.d/init.d &>/dev/null || exit 1 @@ -49,12 +67,11 @@ pushd "$vdir"/etc/init.d &>/dev/null || functions|halt|killall|single) ;; syslog) ;; *) - $_VSERVER ----insecure "$1" chkconfig "$i" off + $_VSERVER "$1" chkconfig "$i" off ;; esac done - relink /bin/true halt popd >/dev/null pushd "$vdir"/sbin &>/dev/null @@ -70,11 +87,20 @@ pushd "$vdir" &>/dev/null popd >/dev/null pushd "$vdir" &>/dev/null + cat </dev/null + +$_VSERVER "$vserver" exec bash -c ': >/tmp/startwait' &>/dev/null || : +$_VSERVER "$vserver" stop &>/dev/null || :