There are few cases where users don't want to raise 'max_client', but are
doing
many concurrent connection and don't want them to fail too. However, we are
currently accept()-ing the incoming request even though we have reached the
limit. If that's the case, error is reported and connection is thrown away.
Gross. What about leaving the requests we know we can't handle yet in the
listen() queue and accepting only those we know we can handle?
For more info see:
https://bugzilla.redhat.com/show_bug.cgi?id=981729
Michal Privoznik (2):
RPC: Don't accept client if it would overcommit max_clients
Introduce max_queued_clients
daemon/libvirtd-config.c | 1 +
daemon/libvirtd-config.h | 1 +
daemon/libvirtd.aug | 1 +
daemon/libvirtd.c | 4 ++++
daemon/libvirtd.conf | 6 ++++++
src/locking/lock_daemon.c | 2 +-
src/lxc/lxc_controller.c | 1 +
src/rpc/virnetserver.c | 40 ++++++++++++++++++++++++++++++++++++++++
src/rpc/virnetserverservice.c | 15 +++++++++++++--
src/rpc/virnetserverservice.h | 6 ++++++
10 files changed, 74 insertions(+), 3 deletions(-)
--
1.8.1.5