mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-01-24 14:33:16 +00: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:
parent
2bfd35885e
commit
f92a73d2fc
@ -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);
|
||||
|
Loading…
Reference in New Issue
Block a user