> 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.
Regards,
Pritesh
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);
--
Libvir-list mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/libvir-list