libvirt/daemon
Daniel P. Berrange f682c25308 Ensure client streams are closed when marking a client for close
Every active stream results in a reference being held on the
virNetServerClientPtr object. This meant that if a client quit
with any streams active, although all I/O was stopped the
virNetServerClientPtr object would leak. This causes libvirtd
to leak any file handles associated with open streams when a
client quit

To fix this, when we call virNetServerClientClose there is a
callback invoked which lets the daemon release the streams
and thus the extra references

* daemon/remote.c: Add a hook to close all streams
* daemon/stream.c, daemon/stream.h: Add API for releasing
  all streams
* src/rpc/virnetserverclient.c, src/rpc/virnetserverclient.h:
  Allow registration of a hook to trigger when closing client
2011-08-16 14:38:11 -07:00
..
.gitignore build: don't require pod2man for tarball builds 2011-02-21 09:27:05 -07:00
libvirtd.aug Allow certificate sanity checking to be disabled 2011-07-22 15:18:32 +01:00
libvirtd.c daemon: Add early libvirtd start verbose errors. 2011-08-16 11:03:36 -06:00
libvirtd.conf Fix typos in daemon config file from previous commit 2011-07-22 15:19:59 +01:00
libvirtd.h Remove code no longer used after commit df0b57a9 2011-07-11 14:38:03 -06:00
libvirtd.init.in libvirtd.init.in: stop/restart() - wrong return value in case of failure 2011-08-15 15:44:39 +08:00
libvirtd.logrotate.in Add logrotate support for libvirtd.log 2011-03-04 22:43:55 +08:00
libvirtd.lxc.logrotate.in Change logrotate to be per-hypervisor logs 2010-03-10 11:27:02 +01:00
libvirtd.pod.in docs: removed outdated reference to virt-mem 2010-11-23 01:11:10 +11:00
libvirtd.policy-0 Rename qemud/ directory to daemon/ 2009-09-21 14:41:42 +01:00
libvirtd.policy-1 Rename qemud/ directory to daemon/ 2009-09-21 14:41:42 +01:00
libvirtd.qemu.logrotate.in Change logrotate to be per-hypervisor logs 2010-03-10 11:27:02 +01:00
libvirtd.sasl Rename qemud/ directory to daemon/ 2009-09-21 14:41:42 +01:00
libvirtd.stp Include socket address in client probe data 2010-10-22 12:00:45 +01:00
libvirtd.sysconf daemon: sysconf: Update comment about VNC audio 2010-05-26 10:51:36 -04:00
libvirtd.uml.logrotate.in Change logrotate to be per-hypervisor logs 2010-03-10 11:27:02 +01:00
libvirtd.upstart Experimental libvirtd upstart job 2011-04-18 11:38:30 +02:00
Makefile.am freebsd: Fix build problem due to picking up the wrong libvirt.h 2011-07-29 07:35:54 -06:00
probes.d Include socket address in client probe data 2010-10-22 12:00:45 +01:00
remote.c Ensure client streams are closed when marking a client for close 2011-08-16 14:38:11 -07:00
remote.h Remove unused virNetServerProgramErrorHander typedef 2011-07-13 11:47:01 +01:00
stream.c Ensure client streams are closed when marking a client for close 2011-08-16 14:38:11 -07:00
stream.h Ensure client streams are closed when marking a client for close 2011-08-16 14:38:11 -07:00
test_libvirtd.aug Allow certificate sanity checking to be disabled 2011-07-22 15:18:32 +01:00
THREADS.txt maint: use consistent file name for threading notes 2011-05-31 13:54:45 -06:00