mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-01-06 17:17:56 +03:00
f682c25308
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 |
||
---|---|---|
.. | ||
.gitignore | ||
libvirtd.aug | ||
libvirtd.c | ||
libvirtd.conf | ||
libvirtd.h | ||
libvirtd.init.in | ||
libvirtd.logrotate.in | ||
libvirtd.lxc.logrotate.in | ||
libvirtd.pod.in | ||
libvirtd.policy-0 | ||
libvirtd.policy-1 | ||
libvirtd.qemu.logrotate.in | ||
libvirtd.sasl | ||
libvirtd.stp | ||
libvirtd.sysconf | ||
libvirtd.uml.logrotate.in | ||
libvirtd.upstart | ||
Makefile.am | ||
probes.d | ||
remote.c | ||
remote.h | ||
stream.c | ||
stream.h | ||
test_libvirtd.aug | ||
THREADS.txt |