From 2f5b6fc0903259f1d191ef18fd0bf6b45178f3d0 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Sat, 12 May 2012 08:08:09 +0200 Subject: [PATCH] MINOR: session: call the socket layer init function when a session establishes In sess_establish, once we've prepared everythin, we can call the socket layer init function. We pass an argument for targets which have one (eg: servers). At the moment, the existing socket layers don't have init functions, but SSL will need one. --- src/session.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/session.c b/src/session.c index cd80b8a15..088b43663 100644 --- a/src/session.c +++ b/src/session.c @@ -717,6 +717,14 @@ static void sess_establish(struct session *s, struct stream_interface *si) rep->rto = s->be->timeout.server; } req->wex = TICK_ETERNITY; + + if (si->sock.init) { + /* initialize the socket layer if needed */ + void *arg = NULL; + if (target_srv(&s->target)) + arg = target_srv(&s->target)->sock_init_arg; + si->sock.init(si, arg); + } } /* Update stream interface status for input states SI_ST_ASS, SI_ST_QUE, SI_ST_TAR.