On Wed, Sep 20, 2006 at 05:50:59PM +0200, Philippe Berthault wrote: > After closing libvirt with virConnectClose, it's possible to open > libvirt again in the same program with virConnectOpen but following > operations on domains systematically fail. > > In example: > > conn = virConnectOpen(NULL); > dom = virDomainLookupByID(conn, id); > virDomainFree(dom); > virConnectClose(conn); > ... > conn = virConnectOpen(NULL); > dom = virDomainLookupByID(conn, id); > ==> ERROR > > The second virDomainLookupByID call fails because of the do_connect() > function in xend_internal.c source file. In this function, the connect() > API returns ENOENT on the second virDomainLookupByID() call. > > ENOENT return code isn't documented in the man of connect API ! > > I suppose that some cleaning are missing when virConnectClose is called > or in the opposite, too cleaning is done. Okay I reproduced this, (as user i.e. using the proxy) I will chase it down should be easy, probably the file descriptor is not reset on Close. And I will ad a python test for it, thanks for raising this, did you got the problem as root ? It seems to work for me as root, i.e. being a problem when reconnecting with the proxy. Daniel -- Red Hat Virtualization group http://redhat.com/virtualization/ Daniel Veillard | virtualization library http://libvirt.org/ veillard@xxxxxxxxxx | libxml GNOME XML XSLT toolkit http://xmlsoft.org/ http://veillard.com/ | Rpmfind RPM search engine http://rpmfind.net/