Re: [libvirt] [PATCH v2] lxc: monitor now holds a reference to the domain
On 08.12.2016 16:29, Cédric Bosdonnat wrote: > If the monitor doesn't hold a reference to the domain object > the object may be destroyed before the monitor actually stops. > --- > v2: Moved vm ref upper, removed vm unref in error case. > > src/lxc/lxc_monitor.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/src/lxc/lxc_monitor.c b/src/lxc/lxc_monitor.c > index d828d528a..9cab6c203 100644 > --- a/src/lxc/lxc_monitor.c > +++ b/src/lxc/lxc_monitor.c > @@ -175,7 +175,7 @@ virLXCMonitorPtr virLXCMonitorNew(virDomainObjPtr vm, > mon->program) < 0) > goto error; > > -mon->vm = vm; > +mon->vm = virObjectRef(vm); > memcpy(>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); > } > > > Yup, this one looks good. ACK Michal -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list
[libvirt] [PATCH v2] lxc: monitor now holds a reference to the domain
If the monitor doesn't hold a reference to the domain object the object may be destroyed before the monitor actually stops. --- v2: Moved vm ref upper, removed vm unref in error case. src/lxc/lxc_monitor.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lxc/lxc_monitor.c b/src/lxc/lxc_monitor.c index d828d528a..9cab6c203 100644 --- a/src/lxc/lxc_monitor.c +++ b/src/lxc/lxc_monitor.c @@ -175,7 +175,7 @@ virLXCMonitorPtr virLXCMonitorNew(virDomainObjPtr vm, mon->program) < 0) goto error; -mon->vm = vm; +mon->vm = virObjectRef(vm); memcpy(>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); } -- 2.11.0 -- libvir-list mailing list libvir-list@redhat.com https://www.redhat.com/mailman/listinfo/libvir-list