]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
[BUG] fix harmless but wrong fd insertion sequence
authorWilly Tarreau <w@1wt.eu>
Tue, 26 Aug 2008 11:25:39 +0000 (13:25 +0200)
committerWilly Tarreau <w@1wt.eu>
Tue, 26 Aug 2008 11:25:39 +0000 (13:25 +0200)
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

index f9b6dd1f3214d329e2f394cd4a0ad20147e262e4..2a39d77310ad91b904fdfe59875aff23f184488d 100644 (file)
@@ -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)