From 788e284d93ea7306fa8c4f8cc8721d3de648817b Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Tue, 26 Aug 2008 13:25:39 +0200 Subject: [PATCH] [BUG] fix harmless but wrong fd insertion sequence In backend.c, we had an EV_FD_SET() called before fd_insert(). This is wrong because fd_insert updates maxfd which might be used by some of the pollers during EV_FD_SET(), although this is not currently the case. --- src/backend.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/backend.c b/src/backend.c index f9b6dd1f3..2a39d7731 100644 --- a/src/backend.c +++ b/src/backend.c @@ -1815,9 +1815,9 @@ int connect_server(struct session *s) fdtab[fd].peeraddr = (struct sockaddr *)&s->srv_addr; fdtab[fd].peerlen = sizeof(s->srv_addr); - EV_FD_SET(fd, DIR_WR); /* for connect status */ - fd_insert(fd); + EV_FD_SET(fd, DIR_WR); /* for connect status */ + if (s->srv) { s->srv->cur_sess++; if (s->srv->cur_sess > s->srv->cur_sess_max)