]> xenbits.xensource.com Git - libvirt.git/commitdiff
lxc: monitor now holds a reference to the domain
authorCédric Bosdonnat <cbosdonnat@suse.com>
Tue, 6 Dec 2016 13:20:13 +0000 (14:20 +0100)
committerCédric Bosdonnat <cbosdonnat@suse.com>
Thu, 8 Dec 2016 15:35:53 +0000 (16:35 +0100)
If the monitor doesn't hold a reference to the domain object
the object may be destroyed before the monitor actually stops.

src/lxc/lxc_monitor.c

index d828d528a6a6dfd0de2c58f0e5896325ee83cf9a..9cab6c20355a81caaffd728f0d3db697ccabafe2 100644 (file)
@@ -175,7 +175,7 @@ virLXCMonitorPtr virLXCMonitorNew(virDomainObjPtr vm,
                                mon->program) < 0)
         goto error;
 
-    mon->vm = vm;
+    mon->vm = virObjectRef(vm);
     memcpy(&mon->cb, cb, sizeof(mon->cb));
 
     virObjectRef(mon);
@@ -201,6 +201,7 @@ static void virLXCMonitorDispose(void *opaque)
     if (mon->cb.destroy)
         (mon->cb.destroy)(mon, mon->vm);
     virObjectUnref(mon->program);
+    virObjectUnref(mon->vm);
 }