X-Git-Url: http://git.linux-vserver.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=scripts%2Fvshelper;h=b9dfdf9c129693a38071931c3bc76717d286ee11;hb=c7cfc614cbd193d7c8dd613c6e2b78ca7252f84f;hp=9738ba8405b94a5e70c2bf88475dc33a6d88c03b;hpb=9c78378bebc1a9f3d400f422df8ede9efea57dea;p=util-vserver.git diff --git a/scripts/vshelper b/scripts/vshelper index 9738ba8..b9dfdf9 100755 --- a/scripts/vshelper +++ b/scripts/vshelper @@ -54,13 +54,25 @@ function doInternalMethod case "$ACTION" in (restart) logging $"Restarting vserver '$VSERVER'" - spawn killContext "$XID" - execute $_VSERVER --defaulttty "$VSERVER" restart + + local sync_dir + vshelper.initStopSync sync_dir + + spawn $_VSERVER --defaulttty "$VSERVER" restart & + + disown %% + vshelper.waitForStopSync "$sync_dir" ;; (halt|poweroff) logging $"Stopping vserver '$VSERVER'" - spawn killContext "$XID" - execute $_VSERVER --defaulttty "$VSERVER" stop + + local sync_dir + vshelper.initStopSync sync_dir + + spawn $_VSERVER --defaulttty "$VSERVER" stop & + + disown %% + vshelper.waitForStopSync "$sync_dir" ;; (swsusp) ## TODO: any senseful action here? Perhaps shutdown scheduler for it?