MEDIUM: server: close private idle connection before server deletion
authorAmaury Denoyelle <adenoyelle@haproxy.com>
Thu, 14 Mar 2024 10:24:19 +0000 (11:24 +0100)
committerAmaury Denoyelle <adenoyelle@haproxy.com>
Fri, 22 Mar 2024 16:12:27 +0000 (17:12 +0100)
commit0d4273f04b1cd92235949c49166c3412dd85e616
treecd1b1a139f88b6bb647a94624b8cea52ba7cefdf
parent5e8eb3661bd41702bb77ff3f99097c386c6057e6
MEDIUM: server: close private idle connection before server deletion

This commit similar to the following one :
  65ae241dcfe710e1cdd3ec4e7a9bde38d2e4c116
  MEDIUM: server: close idle conn before server deletion

This patch implements a similar logic, this time to close private idle
connections stored in sessions. The principle is identical to the above
commit : conn_release() is used on idle connections after a takeover to
ensure thread safety.

An extra change was required to be able to execute takeover on such
connections. Their original thread ID was unknown, contrary to non
private connections which are stored in sharded lists. As such, a new
tid member has been added under sess_priv_conns chaining element.
include/haproxy/session-t.h
include/haproxy/session.h
src/server.c