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.
diff --git a/include/types/stream_interface.h b/include/types/stream_interface.h
index dde7b3f..0eb3730 100644
--- a/include/types/stream_interface.h
+++ b/include/types/stream_interface.h
@@ -107,7 +107,6 @@
};
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 416dbf0..3b6f986 100644
--- a/src/proto_tcp.c
+++ b/src/proto_tcp.c
@@ -452,11 +452,11 @@
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 a3becfe..4760a35 100644
--- a/src/session.c
+++ b/src/session.c
@@ -715,14 +715,6 @@
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 db38cd5..351195c 100644
--- a/src/sock_raw.c
+++ b/src/sock_raw.c
@@ -1118,7 +1118,6 @@
/* 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 69db42f..9dfda93 100644
--- a/src/stream_interface.c
+++ b/src/stream_interface.c
@@ -42,7 +42,6 @@
/* 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 @@
/* 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,