mirror of
http://git.haproxy.org/git/haproxy.git
synced 2026-02-18 08:27:02 +02:00
MEDIUM: session: do not free a session until no stream references it
We now refrain from clearing a session's variables, counters, and from releasing it as long as at least one stream references it. For now it never happens but with H2 this will be mandatory to avoid double frees.
This commit is contained in:
@@ -68,6 +68,8 @@ struct session *session_new(struct proxy *fe, struct listener *li, enum obj_type
|
||||
|
||||
void session_free(struct session *sess)
|
||||
{
|
||||
if (!LIST_ISEMPTY(&sess->streams))
|
||||
return;
|
||||
session_store_counters(sess);
|
||||
vars_prune_per_sess(&sess->vars);
|
||||
pool_free2(pool2_session, sess);
|
||||
|
||||
Reference in New Issue
Block a user