diff -r f24993f27cc4 tools/python/xen/xend/XendDomain.py --- a/tools/python/xen/xend/XendDomain.py Thu Jul 06 08:30:17 2006 -0600 +++ b/tools/python/xen/xend/XendDomain.py Sun Jul 09 18:23:24 2006 +0900 @@ -357,10 +357,15 @@ class XendDomain: def domain_unpause(self, domid): """Unpause domain execution.""" - try: - dominfo = self.domain_lookup_by_name_or_id_nr(domid) - if not dominfo: - raise XendInvalidDomain(str(domid)) + + dominfo = self.domain_lookup_by_name_or_id_nr(domid) + if not dominfo: + raise XendInvalidDomain(str(domid)) + + if dominfo.getDomid() == PRIV_DOMAIN: + raise XendError("Cannot unpause privileged domain %s" % domid) + + try: log.info("Domain %s (%d) unpaused.", dominfo.getName(), dominfo.getDomid()) return dominfo.unpause() @@ -370,10 +375,15 @@ class XendDomain: def domain_pause(self, domid): """Pause domain execution.""" - try: - dominfo = self.domain_lookup_by_name_or_id_nr(domid) - if not dominfo: - raise XendInvalidDomain(str(domid)) + + dominfo = self.domain_lookup_by_name_or_id_nr(domid) + if not dominfo: + raise XendInvalidDomain(str(domid)) + + if dominfo.getDomid() == PRIV_DOMAIN: + raise XendError("Cannot pause privileged domain %s" % domid) + + try: log.info("Domain %s (%d) paused.", dominfo.getName(), dominfo.getDomid()) return dominfo.pause()