[Libvir] [PATCH] Python bindings: Use virDomain/NetworkGetConnect instead of storing connection in domain/network object

Daniel P. Berrange berrange at redhat.com
Mon Jul 23 16:40:04 UTC 2007


On Mon, Jul 23, 2007 at 05:11:09PM +0100, Richard W.M. Jones wrote:
> This is my test case:
> 
> ------------------------------------------
> #!/usr/bin/python
> 
> import libvirt
> 
> def get_dom():
>     conn = libvirt.open ("xen");
>     dom = conn.lookupByName ("debian32fv");
>     return dom
> 
> dom = get_dom()
> print "name = %s\n" % dom.name()
> ------------------------------------------
>
> I would say that it's working as intended.

In this case yes, but if you add one further line at the end of
this example

   conn2  = dom.get_connection()

And then have python garbage collect 'dom' and the original 'conn'
you're not safe because 'conn2' didn't increment the reference
count:

/*
 * virDomainGetConnect:
 * @dom: pointer to a domain
 *
 * Provides the connection pointer associated with a domain.  The
 * reference counter on the connection is not increased by this
 * call.
 */

Regards,
Dan.
-- 
|=- Red Hat, Engineering, Emerging Technologies, Boston.  +1 978 392 2496 -=|
|=-           Perl modules: http://search.cpan.org/~danberr/              -=|
|=-               Projects: http://freshmeat.net/~danielpb/               -=|
|=-  GnuPG: 7D3B9505   F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505  -=| 




More information about the libvir-list mailing list