diff options
Diffstat (limited to 'app-emulation/xen-tools/files/xend-init')
-rw-r--r-- | app-emulation/xen-tools/files/xend-init | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/app-emulation/xen-tools/files/xend-init b/app-emulation/xen-tools/files/xend-init new file mode 100644 index 000000000000..891ab66b9b4b --- /dev/null +++ b/app-emulation/xen-tools/files/xend-init @@ -0,0 +1,42 @@ +#!/sbin/runscript +# Copyright 1999-2005 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/files/xend-init,v 1.1 2006/03/24 23:55:01 agriffis Exp $ + +opts="start stop status restart" + +depend() { + need net + before xendomains sshd ntpd nfs nfsmount rsyncd portmap dhcp +} + +await_daemons_up() { + for ((i=0; i<5; i++)); do + sleep 1 + /usr/sbin/xend status && return 0 + done + return 1 +} + +start() { + ebegin "Starting Xen control daemon" + /usr/sbin/xend start + /usr/sbin/xend status || await_daemons_up + eend $? +} + +stop() { + if [ "$(xm list | wc -l)" -gt 2 ]; then + ebegin " Stopping all domains" + /usr/sbin/xm shutdown --all --wait >/dev/null + eend $? + fi + + ebegin "Stopping Xen control daemon" + /usr/sbin/xend stop + eend $? +} + +status() { + /usr/sbin/xend status +} |