]> xenbits.xensource.com Git - libvirt.git/commitdiff
libxl: remove unnecessary libxlDomainEventsRegister
authorJim Fehlig <jfehlig@suse.com>
Thu, 12 Feb 2015 19:02:27 +0000 (12:02 -0700)
committerJim Fehlig <jfehlig@suse.com>
Tue, 24 Mar 2015 21:03:54 +0000 (15:03 -0600)
This function now only enables domain death events.  Simply call
libxl_evenable_domain_death() instead of an unnecessary wrapper.

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
src/libxl/libxl_domain.c
src/libxl/libxl_domain.h
src/libxl/libxl_driver.c

index 4277cbe307aa46b4f0b98f8afbcbd9dc59f064e0..63c94e0f5c49b0ce7f9e8dc58fffe22d6d7059b1 100644 (file)
@@ -757,30 +757,6 @@ libxlDomainCleanupJob(libxlDriverPrivatePtr driver,
     return libxlDomainObjEndJob(driver, vm);
 }
 
-/*
- * Register for domain events emitted by libxl.
- */
-int
-libxlDomainEventsRegister(libxlDriverPrivatePtr driver, virDomainObjPtr vm)
-{
-    libxlDomainObjPrivatePtr priv = vm->privateData;
-
-    priv->driver = driver;
-
-    /* Always enable domain death events */
-    if (libxl_evenable_domain_death(priv->ctx, vm->def->id, 0, &priv->deathW))
-        goto error;
-
-    return 0;
-
- error:
-    if (priv->deathW) {
-        libxl_evdisable_domain_death(priv->ctx, priv->deathW);
-        priv->deathW = NULL;
-    }
-    return -1;
-}
-
 /*
  * Core dump domain to default dump path.
  *
@@ -1081,7 +1057,9 @@ libxlDomainStart(libxlDriverPrivatePtr driver, virDomainObjPtr vm,
      * be cleaned up if there are any subsequent failures.
      */
     vm->def->id = domid;
-    if (libxlDomainEventsRegister(driver, vm) < 0)
+
+    /* Always enable domain death events */
+    if (libxl_evenable_domain_death(priv->ctx, vm->def->id, 0, &priv->deathW))
         goto cleanup_dom;
 
     if ((dom_xml = virDomainDefFormat(vm->def, 0)) == NULL)
@@ -1121,6 +1099,10 @@ libxlDomainStart(libxlDriverPrivatePtr driver, virDomainObjPtr vm,
     goto endjob;
 
  cleanup_dom:
+    if (priv->deathW) {
+        libxl_evdisable_domain_death(priv->ctx, priv->deathW);
+        priv->deathW = NULL;
+    }
     libxl_domain_destroy(priv->ctx, domid, NULL);
     vm->def->id = -1;
     virDomainObjSetState(vm, VIR_DOMAIN_SHUTOFF, VIR_DOMAIN_SHUTOFF_FAILED);
index 96e238e19823c6cb248b789cb586b4c61ac0bcce..297dffbbf350a25dbaf82d2b33d8f7a0cf96e8ab 100644 (file)
@@ -68,7 +68,6 @@ struct _libxlDomainObjPrivate {
     /* console */
     virChrdevsPtr devs;
     libxl_evgen_domain_death *deathW;
-    libxlDriverPrivatePtr driver;
     unsigned short migrationPort;
 
     struct libxlDomainJobObj job;
@@ -133,10 +132,6 @@ void
 libxlDomainEventHandler(void *data,
                         VIR_LIBXL_EVENT_CONST libxl_event *event);
 
-int
-libxlDomainEventsRegister(libxlDriverPrivatePtr driver,
-                          virDomainObjPtr vm);
-
 int
 libxlDomainAutoCoreDump(libxlDriverPrivatePtr driver,
                         virDomainObjPtr vm);
index 97518601de01022e13976af9769cf420e86c1d89..9814b3f61b8d6e1254e1e1ecdec7bea9cb4dd7c0 100644 (file)
@@ -367,8 +367,9 @@ libxlReconnectDomain(virDomainObjPtr vm,
     if (virAtomicIntInc(&driver->nactive) == 1 && driver->inhibitCallback)
         driver->inhibitCallback(true, driver->inhibitOpaque);
 
-    /* Re-register domain death et. al. events */
-    libxlDomainEventsRegister(driver, vm);
+    /* Enable domain death events */
+    libxl_evenable_domain_death(priv->ctx, vm->def->id, 0, &priv->deathW);
+
     virObjectUnlock(vm);
     return 0;