]> xenbits.xensource.com Git - libvirt.git/commit
Use a virFreeCallback on virNetSocket to ensure safe release
authorDaniel P. Berrange <berrange@redhat.com>
Tue, 19 Jul 2011 13:11:33 +0000 (14:11 +0100)
committerDaniel P. Berrange <berrange@redhat.com>
Tue, 19 Jul 2011 15:20:27 +0000 (11:20 -0400)
commit7ea2ef4ce82be9574b4e1fb2a90f2f2c8dc84172
tree3d64d967ace8408f48ae6ad3df144586804d75b9
parent6198f3a1d7466ea05351e130d771b2d200f49793
Use a virFreeCallback on virNetSocket to ensure safe release

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
src/rpc/virnetserverclient.c
src/rpc/virnetserverservice.c
src/rpc/virnetsocket.c
src/rpc/virnetsocket.h