mirror of
https://github.com/haproxy/haproxy.git
synced 2026-02-20 00:10:41 -05:00
MINOR: session: Take care to decrement idle_conns counter in session_unown_conn
So conn_free() only calls session_unown_conn() if necessary. The details are now fully handled by session_unown_conn().
This commit is contained in:
parent
236c93b108
commit
15979619c4
2 changed files with 4 additions and 4 deletions
|
|
@ -463,10 +463,7 @@ static inline void conn_free(struct connection *conn)
|
|||
{
|
||||
/* Remove ourself from the session's connections list, if any. */
|
||||
if (!LIST_ISEMPTY(&conn->session_list)) {
|
||||
struct session *sess = conn->owner;
|
||||
if (conn->flags & CO_FL_SESS_IDLE)
|
||||
sess->idle_conns--;
|
||||
session_unown_conn(sess, conn);
|
||||
session_unown_conn(conn->owner, conn);
|
||||
}
|
||||
|
||||
sockaddr_free(&conn->src);
|
||||
|
|
|
|||
|
|
@ -77,6 +77,9 @@ static inline void session_store_counters(struct session *sess)
|
|||
static inline void session_unown_conn(struct session *sess, struct connection *conn)
|
||||
{
|
||||
struct sess_srv_list *srv_list = NULL;
|
||||
|
||||
if (conn->flags & CO_FL_SESS_IDLE)
|
||||
sess->idle_conns--;
|
||||
LIST_DEL(&conn->session_list);
|
||||
LIST_INIT(&conn->session_list);
|
||||
list_for_each_entry(srv_list, &sess->srv_list, srv_list) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue