From be0688c64d08325da33b853d9673da6329b9fa34 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Fri, 18 May 2012 15:15:26 +0200 Subject: [PATCH] MEDIUM: stream_interface: remove the si->init Calling the init() function in sess_establish was a bad idea, it is too late to allow it to fail on lack of resource and does not help at all. Remove it for now before it's used. --- include/types/stream_interface.h | 1 - src/proto_tcp.c | 8 ++++---- src/session.c | 8 -------- src/sock_raw.c | 1 - src/stream_interface.c | 2 -- 5 files changed, 4 insertions(+), 16 deletions(-) diff --git a/include/types/stream_interface.h b/include/types/stream_interface.h index dde7b3fe5a..0eb3730c8a 100644 --- a/include/types/stream_interface.h +++ b/include/types/stream_interface.h @@ -107,7 +107,6 @@ struct target { }; struct sock_ops { - int (*init)(struct stream_interface *, void *); /* init function */ void (*update)(struct stream_interface *); /* I/O update function */ void (*shutr)(struct stream_interface *); /* shutr function */ void (*shutw)(struct stream_interface *); /* shutw function */ diff --git a/src/proto_tcp.c b/src/proto_tcp.c index 416dbf07c8..3b6f986424 100644 --- a/src/proto_tcp.c +++ b/src/proto_tcp.c @@ -452,11 +452,11 @@ int tcp_connect_server(struct stream_interface *si) fdtab[fd].state = FD_STCONN; /* connection in progress */ fdtab[fd].flags = FD_FL_TCP | FD_FL_TCP_NODELAY; - /* If we have nothing to send or if we want to initialize the sock layer, - * we want to confirm that the TCP connection is established before doing - * so, so we use our own write callback then switch to the sock layer. + /* If we have nothing to send, we want to confirm that the TCP + * connection is established before doing so, so we use our own write + * callback then switch to the sock layer. */ - if (si->sock.init || ((si->ob->flags & BF_OUT_EMPTY) && !si->send_proxy_ofs)) { + if ((si->ob->flags & BF_OUT_EMPTY) && !si->send_proxy_ofs) { fdtab[fd].cb[DIR_RD].f = tcp_connect_read; fdtab[fd].cb[DIR_WR].f = tcp_connect_write; } diff --git a/src/session.c b/src/session.c index a3becfebd4..4760a350bc 100644 --- a/src/session.c +++ b/src/session.c @@ -715,14 +715,6 @@ 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. diff --git a/src/sock_raw.c b/src/sock_raw.c index db38cd574e..351195c5f0 100644 --- a/src/sock_raw.c +++ b/src/sock_raw.c @@ -1118,7 +1118,6 @@ static void sock_raw_chk_snd(struct stream_interface *si) /* stream sock operations */ struct sock_ops sock_raw = { - .init = NULL, .update = sock_raw_data_finish, .shutr = sock_raw_shutr, .shutw = sock_raw_shutw, diff --git a/src/stream_interface.c b/src/stream_interface.c index 69db42f240..9dfda93a29 100644 --- a/src/stream_interface.c +++ b/src/stream_interface.c @@ -42,7 +42,6 @@ static void stream_int_chk_snd(struct stream_interface *si); /* socket operations for embedded tasks */ struct sock_ops stream_int_embedded = { - .init = NULL, .update = stream_int_update_embedded, .shutr = stream_int_shutr, .shutw = stream_int_shutw, @@ -54,7 +53,6 @@ struct sock_ops stream_int_embedded = { /* socket operations for external tasks */ struct sock_ops stream_int_task = { - .init = NULL, .update = stream_int_update, .shutr = stream_int_shutr, .shutw = stream_int_shutw, -- 2.39.5