BUG/MEDIUM: connections: Don't forget to remove CO_FL_SESS_IDLE.

If we're adding a connection to the server orphan idle list, don't forget
to remove the CO_FL_SESS_IDLE flag, or we will assume later it's still
attached to a session.

This should be backported to 1.9.
This commit is contained in:
Olivier Houchard 2019-01-31 19:31:19 +01:00 committed by Willy Tarreau
parent 3949c9d90d
commit 8788b4111c
2 changed files with 3 additions and 1 deletions

View File

@ -128,7 +128,8 @@ static inline int session_check_idle_conn(struct session *sess, struct connectio
/* The server doesn't want it, let's kill the connection right away */
conn->mux->destroy(conn);
return -1;
}
} else
conn->flags &= ~CO_FL_SESS_IDLE;
return 1;
} else {
conn->flags |= CO_FL_SESS_IDLE;

View File

@ -87,6 +87,7 @@ void session_free(struct session *sess)
LIST_DEL(&conn->session_list);
LIST_INIT(&conn->session_list);
conn->owner = NULL;
conn->flags &= ~CO_FL_SESS_IDLE;
if (!srv_add_to_idle_list(objt_server(conn->target), conn))
conn->mux->destroy(conn);
} else {