On 03/26/13 10:54, Viktor Mihajlovski wrote:
By adjusting the reference count of the connection object we prevent races between callback function and virConnectClose.
Hum. Here I agree that this is definitely possible (and I managed to reproduce the invalid read and possible memory corruption) but I don't completely like the fix here.
As the callback is called at a moment when the connection won't be usable anymore I think that the callback should automatically unregister itself and also clear the opaque data if that is requested. (Which isn't done right now if the caller doesn't unregister it).
With automatic unregistration we save a lot of hassle, and also avoid the need of hackery that you needed to add in the 3/3 patch to avoid leaking the reference. I also think that the virConnectClose function should automatically get rid of the callback if the caller doesn't do it before.
Dan, any ideas on this? Peter P.S.: This should be fixed before the release. -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list