#include <types/session.h>
extern struct pool_head *pool2_session;
+void session_free(struct session *sess);
int init_session();
#endif /* _PROTO_SESSION_H */
out_fail_task:
pool_free2(pool2_stream, socket->s);
out_fail_stream:
- pool_free2(pool2_session, sess);
+ session_free(sess);
out_fail_conf:
WILL_LJMP(lua_error(L));
return 0;
LIST_DEL(&s->list);
pool_free2(pool2_stream, s);
out_free_sess:
- pool_free2(pool2_session, sess);
+ session_free(sess);
out_close:
return s;
}
struct pool_head *pool2_session;
+void session_free(struct session *sess)
+{
+ pool_free2(pool2_session, sess);
+}
+
/* perform minimal intializations, report 0 in case of error, 1 if OK. */
int init_session()
{
stream_store_counters(s);
pool_free2(pool2_stream, s);
out_free_sess:
- pool_free2(pool2_session, sess);
+ session_free(sess);
out_free_conn:
cli_conn->flags &= ~CO_FL_XPRT_TRACKED;
conn_xprt_close(cli_conn);
/* FIXME: for now we have a 1:1 relation between stream and session so
* the stream must free the session.
*/
- pool_free2(pool2_session, sess);
pool_free2(pool2_stream, s);
+ session_free(sess);
}
/* Finish initializing a stream from a connection, or kills it if the
/* FIXME: for now we have a 1:1 relation between stream and session so
* the stream must free the session.
*/
- pool_free2(pool2_session, s->sess);
pool_free2(pool2_stream, s);
+ session_free(sess);
/* We may want to free the maximum amount of pools if the proxy is stopping */
if (fe && unlikely(fe->state == PR_STSTOPPED)) {