mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-10 09:07:02 +02:00
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:
parent
3949c9d90d
commit
8788b4111c
@ -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 */
|
/* The server doesn't want it, let's kill the connection right away */
|
||||||
conn->mux->destroy(conn);
|
conn->mux->destroy(conn);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
} else
|
||||||
|
conn->flags &= ~CO_FL_SESS_IDLE;
|
||||||
return 1;
|
return 1;
|
||||||
} else {
|
} else {
|
||||||
conn->flags |= CO_FL_SESS_IDLE;
|
conn->flags |= CO_FL_SESS_IDLE;
|
||||||
|
@ -87,6 +87,7 @@ void session_free(struct session *sess)
|
|||||||
LIST_DEL(&conn->session_list);
|
LIST_DEL(&conn->session_list);
|
||||||
LIST_INIT(&conn->session_list);
|
LIST_INIT(&conn->session_list);
|
||||||
conn->owner = NULL;
|
conn->owner = NULL;
|
||||||
|
conn->flags &= ~CO_FL_SESS_IDLE;
|
||||||
if (!srv_add_to_idle_list(objt_server(conn->target), conn))
|
if (!srv_add_to_idle_list(objt_server(conn->target), conn))
|
||||||
conn->mux->destroy(conn);
|
conn->mux->destroy(conn);
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
Reference in New Issue
Block a user