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