@@ -114,3 +114,17 @@ func (Ctx *Context) DomainInfo(Id Domid) (di *Dominfo, err error) {
di.Domain_type = int32(cdi.domain_type)
return
}
+
+func (Ctx *Context) DomainUnpause(Id Domid) (err error) {
+ if Ctx.ctx == nil {
+ err = fmt.Errorf("Context not opened")
+ return
+ }
+
+ ret := C.libxl_domain_unpause(Ctx.ctx, C.uint32_t(Id))
+
+ if ret != 0 {
+ err = fmt.Errorf("libxl_domain_unpause failed: %d", ret)
+ }
+ return
+}
@@ -232,16 +232,8 @@ func (w *XenWorker) Shutdown() {
// FIXME: Return an error
func (w *XenWorker) Process(report chan WorkerReport, done chan bool) {
- mock := false
-
- // xl unpause [vmname]
- args := []string{"xl", "unpause", w.vmname}
- if mock {
- args = append([]string{"echo"}, args...)
- }
- e := exec.Command(args[0], args[1:]...)
-
- err := e.Run()
+ // // xl unpause [vmname]
+ err := xg.Ctx.DomainUnpause(Domid(w.domid))
if err != nil {
fmt.Printf("Error unpausing domain: %v\n", err)
return