MINOR: connections: Add a flag to know if we're in the safe or idle list.

Add flags to connections, CO_FL_SAFE_LIST and CO_FL_IDLE_LIST, to let one
know we are in the safe list, or the idle list.
This commit is contained in:
Olivier Houchard 2020-03-10 18:04:37 +01:00 committed by Olivier Houchard
parent f0d4dff25c
commit d2489e00b0
3 changed files with 7 additions and 0 deletions

View File

@ -262,6 +262,8 @@ static inline int srv_add_to_idle_list(struct server *srv, struct connection *co
return 0;
}
MT_LIST_DEL(&conn->list);
conn->flags = (conn->flags &~ CO_FL_LIST_MASK) |
(is_safe ? CO_FL_SAFE_LIST : CO_FL_IDLE_LIST);
MT_LIST_ADDQ(is_safe ? &srv->safe_conns[tid] : &srv->idle_conns[tid],
(struct mt_list *)&conn->list);
srv->curr_idle_thr[tid]++;

View File

@ -140,6 +140,10 @@ enum {
CO_FL_NONE = 0x00000000, /* Just for initialization purposes */
/* Do not change these values without updating conn_*_poll_changes() ! */
CO_FL_SAFE_LIST = 0x00000001, /* 0 = not in any list, 1 = in safe_list */
CO_FL_IDLE_LIST = 0x00000002, /* 2 = in idle_list, 3 = invalid */
CO_FL_LIST_MASK = 0x00000003, /* Is the connection in any server-managed list ? */
/* unused : 0x00000001 */
/* unused : 0x00000002 */
/* unused : 0x00000004, 0x00000008 */

View File

@ -1173,6 +1173,7 @@ int connect_server(struct stream *s)
if (srv_conn) {
reuse_orphan = 1;
reuse = 1;
srv_conn->flags &= ~CO_FL_LIST_MASK;
}
}