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.
(cherry picked from commit 34ce7d075ae3d5d5c876de4ad76bdf0e358772df)
Signed-off-by: Christopher Faulet <cfaulet@haproxy.com>
diff --git a/include/proto/server.h b/include/proto/server.h
index d0b925c..10c55a9 100644
--- a/include/proto/server.h
+++ b/include/proto/server.h
@@ -256,7 +256,7 @@
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;
}