On Mon, Jul 20, 2009 at 10:04:31AM +0200, Pritesh Kothari wrote: > > I don't think this is quite correct. We call VBoxCGlueInit() > > in the vboxRegister() function, which is run when libvirt first > > initializes the whole library. > > > > The real bug is the vboxClose() method which calls vboxUninitialize() > > which is then calling VBoxCGlueTerm(). So if you have many virConectPtr > > objects open, the first one you call virConnectClose on will > > shutdown the entire vbox library, breaking all the other virConnectPtr > > instances you have active. > > > > IMHO, we should simply delete VBoxCGlueTerm() completely. > > Right the VBoxCGlueTerm() is causing the whole problem. > Resending the patch with changes as suggested above. > diff --git a/src/vbox/vbox_tmpl.c b/src/vbox/vbox_tmpl.c > index 74c432e..42c5477 100644 > --- a/src/vbox/vbox_tmpl.c > +++ b/src/vbox/vbox_tmpl.c > @@ -310,6 +310,7 @@ no_memory: > } > > static int vboxInitialize(virConnectPtr conn, vboxGlobalData *data) { > + > /* Get the API table for out version, g_pVBoxFuncs is for the oldest > version of the API that we support so we cannot use that. */ > data->pFuncs = g_pfnGetFunctions(VBOX_XPCOMC_VERSION); > @@ -398,7 +399,6 @@ static void vboxUninitialize(vboxGlobalData *data) { > > if (data->pFuncs) > data->pFuncs->pfnComUninitialize(); > - VBoxCGlueTerm(); > > virDomainObjListFree(&data->domains); > virCapabilitiesFree(data->caps); ACK Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :| -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list