summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-emulation/xen-tools/files/xend-init')
-rw-r--r--app-emulation/xen-tools/files/xend-init42
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
+}