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

Re: [libvirt] RPC ref count question

On Fri, Jun 15, 2012 at 12:50:03PM +0300, Radu Caragea wrote:
> Hi everyone,
> >From what I understand after defining a domain with
> remoteDomainCreateXML, the corresponding destroy call is
> remoteDomainDestroy, both from the automatically generated
> remote_client_bodies.h
> My question is why the domain isn't freed in the destroy procedure
> (with virUnrefDomain or other) ? Is it supposed to be called
> separately or is it a bug ? I'm asking because from what I saw the
> connection refcount increments in domain creation but doesn't
> decrement in destroy.

The virDomainCreateXML() method call (which triggers remoteDomainCreateXML)
returns a newly created virDomainPtr object with refcnt==1. 

After calling virDomainDestroy() it is possible for the virDomainPtr to
actually still exist - eg someone may have made the VM persistent in the
meanwhile by calling virDomainDefine. Thus it is the responsibility of
the app to call virDomainFree() when they no longer want the virDomainPtr
instance. We won't free it as a side-effect of any other call.

|: http://berrange.com      -o-    http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org              -o-             http://virt-manager.org :|
|: http://autobuild.org       -o-         http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org       -o-       http://live.gnome.org/gtk-vnc :|

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