CLEANUP: remove the now unused fdtab direct I/O callbacks
They were all left to NULL since last commit so we can safely remove them
all now and remove the temporary dual polling logic in pollers.
diff --git a/src/proto_tcp.c b/src/proto_tcp.c
index db2fe03..c1a3e6f 100644
--- a/src/proto_tcp.c
+++ b/src/proto_tcp.c
@@ -468,14 +468,7 @@
fdtab[fd].flags = FD_FL_TCP | FD_FL_TCP_NODELAY;
si->conn.flags = CO_FL_WAIT_L4_CONN; /* connection in progress */
- /* Prepare to send a few handshakes related to the on-wire protocol.
- * 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.
- */
- fdtab[fd].cb[DIR_RD].f = NULL;
- fdtab[fd].cb[DIR_WR].f = NULL;
-
+ /* Prepare to send a few handshakes related to the on-wire protocol. */
if (si->send_proxy_ofs)
si->conn.flags |= CO_FL_SI_SEND_PROXY;
@@ -575,11 +568,10 @@
*/
b->flags |= BF_WRITE_NULL;
- /* The FD is ready now, we can hand the handlers to the socket layer
- * and forward the event there to start working on the socket.
+ /* The FD is ready now, we'll mark the connection as complete and
+ * forward the event to the data layer which will update the stream
+ * interface flags.
*/
- fdtab[fd].cb[DIR_RD].f = NULL;
- fdtab[fd].cb[DIR_WR].f = NULL;
conn->flags &= ~CO_FL_WAIT_L4_CONN;
si->exp = TICK_ETERNITY;
return si_data(si)->write(fd);
@@ -739,8 +731,6 @@
fdtab[fd].owner = listener; /* reference the listener instead of a task */
fdtab[fd].flags = FD_FL_TCP | ((listener->options & LI_O_NOLINGER) ? FD_FL_TCP_NOLING : 0);
fdtab[fd].iocb = listener->proto->accept;
- fdtab[fd].cb[DIR_RD].f = NULL; /* never called */
- fdtab[fd].cb[DIR_WR].f = NULL; /* never called */
fd_insert(fd);
tcp_return: