❦ 24 juillet 2016 23:13 CEST, Vincent Bernat <[email protected]> :
> I am trying to figure out how to reliably maintain a connection to
> libvirtd. From the documentation, I would expect something like that:
>
> - virConnectOpen()
> - virConnectRegisterCloseCallback()
> - virConnectSetKeepAlive()
> - Application logic
>
> And in the registered callback, I would:
>
> - virConnectUnregisterCloseCallback()
> - virConnectClose()
> - virConnectOpen()
> - virConnectRegisterCloseCallback()
> - virConnectSetKeepAlive()
Well, I am now doing that and it doesn't work as expected. If the
connection is unexpectedly disconnected, I get an error when calling
virConnectUnregisterclosecallback():
[Code-55] [Domain-20] Requested operation is not valid: A different callback
was requested
If I don't unregister the callback, virConnectClose() indicates a leak.
The same happens for domain events. If the connection is closed
unexpectedly, I get:
[Code-1] [Domain-7] internal error: client socket is closed
I am not even sure that I don't get a leak whatever I do about since I
don't see anything that would unset the callbacks when the connection is
closed (while this happens for close callback).
I see that virsh has the same problem. If I restart libvirt while
connected, I get a "One or more references were leaked after disconnect
from the hypervisor".
--
Tempt not a desperate man.
-- William Shakespeare, "Romeo and Juliet"
_______________________________________________
libvirt-users mailing list
[email protected]
https://www.redhat.com/mailman/listinfo/libvirt-users