mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-03-05 02:49:01 +00:00
MINOR: conn-stream: Release a CS when both app and endp are detached
cs_detach_app() function is added to detach an app from a conn-stream. And now, both cs_detach_app() and cs_detach_endp() release the conn-stream when both the app and the endpoint are detached.
This commit is contained in:
parent
014ac35eb2
commit
c36de9dc93
@ -39,6 +39,7 @@ void cs_free(struct conn_stream *cs);
|
|||||||
void cs_attach_endp(struct conn_stream *cs, enum obj_type *endp, void *ctx);
|
void cs_attach_endp(struct conn_stream *cs, enum obj_type *endp, void *ctx);
|
||||||
int cs_attach_app(struct conn_stream *cs, enum obj_type *app);
|
int cs_attach_app(struct conn_stream *cs, enum obj_type *app);
|
||||||
void cs_detach_endp(struct conn_stream *cs);
|
void cs_detach_endp(struct conn_stream *cs);
|
||||||
|
void cs_detach_app(struct conn_stream *cs);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Initializes all required fields for a new conn_strema.
|
* Initializes all required fields for a new conn_strema.
|
||||||
|
@ -133,11 +133,27 @@ void cs_detach_endp(struct conn_stream *cs)
|
|||||||
appctx_free(appctx);
|
appctx_free(appctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Rest CS */
|
/* FIXME: Rest CS for now but must be reviewed. CS flags are only
|
||||||
|
* connection related for now but this will evolved
|
||||||
|
*/
|
||||||
cs->flags = CS_FL_NONE;
|
cs->flags = CS_FL_NONE;
|
||||||
cs->end = NULL;
|
cs->end = NULL;
|
||||||
cs->ctx = NULL;
|
cs->ctx = NULL;
|
||||||
if (cs->si)
|
if (cs->si)
|
||||||
cs->si->ops = &si_embedded_ops;
|
cs->si->ops = &si_embedded_ops;
|
||||||
cs->data_cb = NULL;
|
cs->data_cb = NULL;
|
||||||
|
|
||||||
|
if (cs->app == NULL)
|
||||||
|
cs_free(cs);
|
||||||
|
}
|
||||||
|
|
||||||
|
void cs_detach_app(struct conn_stream *cs)
|
||||||
|
{
|
||||||
|
si_free(cs->si);
|
||||||
|
cs->app = NULL;
|
||||||
|
cs->si = NULL;
|
||||||
|
cs->data_cb = NULL;
|
||||||
|
|
||||||
|
if (cs->end == NULL)
|
||||||
|
cs_free(cs);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user