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.
This commit is contained in:
parent
8d82db70a5
commit
cee0389088
|
@ -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 */
|
/* 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)
|
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 */
|
/* We can't keep the connection, let's try to add it to the server idle list */
|
||||||
session_unown_conn(sess, conn);
|
session_unown_conn(sess, conn);
|
||||||
conn->owner = NULL;
|
conn->owner = NULL;
|
||||||
|
|
Loading…
Reference in New Issue