From cee03890889f242945e0c0128e57f01acf40a35c Mon Sep 17 00:00:00 2001 From: Olivier Houchard Date: Thu, 4 Jul 2019 14:26:41 +0200 Subject: [PATCH] BUG/MEDIUM: sessions: Don't keep an extra idle connection in sessions. When deciding if we keep an idle connection in the session, check if the number of connections currently in the session is >= the max allowed, not >, or we'll keep an extra connection. This should be backported to 1.9 and 2.0. --- include/proto/session.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/proto/session.h b/include/proto/session.h index eabebb85a..a80f97dc1 100644 --- a/include/proto/session.h +++ b/include/proto/session.h @@ -120,7 +120,7 @@ static inline int session_add_conn(struct session *sess, struct connection *conn /* Returns 0 if the session can keep the idle conn, -1 if it was destroyed, or 1 if it was added to the server list */ static inline int session_check_idle_conn(struct session *sess, struct connection *conn) { - if (sess->idle_conns > sess->fe->max_out_conns) { + if (sess->idle_conns >= sess->fe->max_out_conns) { /* We can't keep the connection, let's try to add it to the server idle list */ session_unown_conn(sess, conn); conn->owner = NULL;