[libvirt] [PATCH 3/4] Use a virFreeCallback on virNetSocket to ensure safe release
Eric Blake
eblake at redhat.com
Tue Jul 19 14:31:47 UTC 2011
On 07/19/2011 07:22 AM, Daniel P. Berrange wrote:
> From: "Daniel P. Berrange"<berrange at redhat.com>
>
> When unregistering an I/O callback from a virNetSocket object,
> there is still a chance that an event may come in on the callback.
> In this case it is possible that the virNetSocket might have been
> freed already. Make use of a virFreeCallback when registering
> the I/O callbacks and hold a reference for the entire time the
> callback is set.
>
> * src/rpc/virnetsocket.c: Register a free function for the
> file handle watch
> * src/rpc/virnetsocket.h, src/rpc/virnetserverservice.c,
> src/rpc/virnetserverclient.c, src/rpc/virnetclient.c: Add
> a free function for the socket I/O watches
> ---
> src/rpc/virnetclient.c | 13 ++++++++++++-
> src/rpc/virnetserverclient.c | 13 ++++++++++++-
> src/rpc/virnetserverservice.c | 20 ++++++++++++++++++--
> src/rpc/virnetsocket.c | 30 ++++++++++++++++++++++++++++--
> src/rpc/virnetsocket.h | 3 ++-
> 5 files changed, 72 insertions(+), 7 deletions(-)
>
ACK.
--
Eric Blake eblake at redhat.com +1-801-349-2682
Libvirt virtualization library http://libvirt.org
More information about the libvir-list
mailing list