[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

Re: [libvirt] [PATCH 3/5] libxl: Don't free domain death event



On 2013年01月16日 07:15, Jim Fehlig wrote:
Callers should not free death events provided by libxl_evdisable_FOO().
---
  src/libxl/libxl_driver.c | 10 ++++------
  1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/src/libxl/libxl_driver.c b/src/libxl/libxl_driver.c
index 94a78e2..61ceae1 100644
--- a/src/libxl/libxl_driver.c
+++ b/src/libxl/libxl_driver.c
@@ -270,7 +270,6 @@ libxlDomainObjPrivateAlloc(void)
          return NULL;

      libxl_ctx_alloc(&priv->ctx, LIBXL_VERSION, 0, libxl_driver->logger);
-    priv->deathW = NULL;
      libxl_osevent_register_hooks(priv->ctx,&libxl_event_callbacks, priv);

      return priv;
@@ -281,10 +280,8 @@ libxlDomainObjPrivateFree(void *data)
  {
      libxlDomainObjPrivatePtr priv = data;

-    if (priv->deathW) {
+    if (priv->deathW)
          libxl_evdisable_domain_death(priv->ctx, priv->deathW);
-        VIR_FREE(priv->deathW);
-    }

      libxl_ctx_free(priv->ctx);
      VIR_FREE(priv);
@@ -604,9 +601,10 @@ libxlCreateDomEvents(virDomainObjPtr vm)
      return 0;

  error:
-    if (priv->deathW)
+    if (priv->deathW) {
          libxl_evdisable_domain_death(priv->ctx, priv->deathW);
-    VIR_FREE(priv->deathW);
+        priv->deathW = NULL;
+    }
      return -1;
  }


ACK.


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]