mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-14 23:44:41 +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);
|
||||
int cs_attach_app(struct conn_stream *cs, enum obj_type *app);
|
||||
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.
|
||||
|
@ -133,11 +133,27 @@ void cs_detach_endp(struct conn_stream *cs)
|
||||
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->end = NULL;
|
||||
cs->ctx = NULL;
|
||||
if (cs->si)
|
||||
cs->si->ops = &si_embedded_ops;
|
||||
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