From: Christopher Faulet Date: Wed, 10 Jul 2019 12:06:33 +0000 (+0200) Subject: BUG/MINOR: server: Be really able to keep "pool-max-conn" idle connections X-Git-Tag: v2.1-dev1~17 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=34ce7d075ae3d5d5c876de4ad76bdf0e358772df;p=thirdparty%2Fhaproxy.git BUG/MINOR: server: Be really able to keep "pool-max-conn" idle connections The maximum number of idle connections for a server can be configured by setting the server option "pool-max-conn". But when we try to add a connection in its idle list, because of a wrong comparison, it may be rejected because there are already "pool-max-conn - 1" idle connections. This patch must be backported to 2.0 and 1.9. --- diff --git a/include/proto/server.h b/include/proto/server.h index d0b925c569..10c55a94e5 100644 --- a/include/proto/server.h +++ b/include/proto/server.h @@ -256,7 +256,7 @@ static inline int srv_add_to_idle_list(struct server *srv, struct connection *co int retadd; retadd = _HA_ATOMIC_ADD(&srv->curr_idle_conns, 1); - if (retadd >= srv->max_idle_conns) { + if (retadd > srv->max_idle_conns) { _HA_ATOMIC_SUB(&srv->curr_idle_conns, 1); return 0; }