#!/sbin/runscript # Copyright 1999-2013 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/app-emulation/xen-tools/files/xend.initd-r2,v 1.3 2013/07/27 15:50:36 idella4 Exp $ opts="start stop status restart" depend() { need net xenconsoled xenstored before xendomains sshd } await_daemons_up() { for ((i=0; i<5; i++)); do sleep 1 /usr/sbin/xend status && return 0 done return 1 } is_privileged_domain() { grep -qsE '^control_d$' /proc/xen/capabilities return $? } start() { if is_privileged_domain ; then ebegin "Starting Xen control daemon" /usr/sbin/xend start /usr/sbin/xend status || await_daemons_up eend $? else eerror "Can't start xend - this is not a privileged domain." return 1 fi } stop() { if [ "$(xm list | wc -l)" -gt 2 ]; then ebegin " Stopping all domains" /usr/sbin/xl shutdown -a -w >/dev/null eend $? fi ebegin "Stopping Xen control daemon" /usr/sbin/xend stop eend $? } status() { is_privileged_domain && /usr/sbin/xend status }