]> git.ipfire.org Git - thirdparty/haproxy.git/commitdiff
BUG: Revert "OPTIM: poll: restore polling after a poll/stop/want sequence"
authorWilly Tarreau <w@1wt.eu>
Mon, 13 Jan 2014 10:34:42 +0000 (11:34 +0100)
committerWilly Tarreau <w@1wt.eu>
Mon, 13 Jan 2014 10:34:42 +0000 (11:34 +0100)
This reverts commit 12082663561aa2189d243328060c399f2fd95860.

It randomly breaks SSL. What happens is that if the SSL response is
read at once by the SSL stack and is partially delivered to the buffer,
then there's no way to read the next parts because we wait for some
polling first.

So we'll fix this after the polling rework.

include/proto/fd.h

index 472665f104bf1252de6f090ab9349c06439a8056..7fe616e381b3787216aac45e19147130b9838a42 100644 (file)
@@ -171,15 +171,7 @@ static inline void fd_ev_set(int fd, int dir)
         */
        if (i & (FD_EV_ACTIVE << dir))
                return; /* already in desired state */
-
-       /* If we're touching an FD which is still being polled, and was
-        * recently disabled, we re-enable polling in order not to perform
-        * a syscall dance and to avoid a missed speculative event.
-        */
-       if ((((unsigned int)fdtab[fd].spec_e) >> 4) & (FD_EV_POLLED << dir))
-               fdtab[fd].spec_e ^= i ^ (FD_EV_POLLED << dir);
-       else
-               fdtab[fd].spec_e |= (FD_EV_ACTIVE << dir);
+       fdtab[fd].spec_e |= (FD_EV_ACTIVE << dir);
        updt_fd(fd); /* need an update entry to change the state */
 }