diff options
Diffstat (limited to 'app-emulation/xen-tools/files/xend.initd')
-rw-r--r-- | app-emulation/xen-tools/files/xend.initd | 22 |
1 files changed, 16 insertions, 6 deletions
diff --git a/app-emulation/xen-tools/files/xend.initd b/app-emulation/xen-tools/files/xend.initd index c1af7c1..d7e3bd2 100644 --- a/app-emulation/xen-tools/files/xend.initd +++ b/app-emulation/xen-tools/files/xend.initd @@ -1,7 +1,7 @@ #!/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 $ +# $Header: $ opts="start stop status restart" @@ -18,11 +18,21 @@ await_daemons_up() { return 1 } +is_privileged_domain() { + grep -qsE '^control_d$' /proc/xen/capabilities + return $? +} + start() { - ebegin "Starting Xen control daemon" - /usr/sbin/xend start - /usr/sbin/xend status || await_daemons_up - eend $? + 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() { @@ -38,5 +48,5 @@ stop() { } status() { - /usr/sbin/xend status + is_privileged_domain && /usr/sbin/xend status } |