mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-15 07:54:33 +00:00
BUG: Revert "OPTIM/MEDIUM: epoll: fuse active events into polled ones during polling changes"
This reverts commit 2f877304ef
.
This commit is OK for clear text traffic but causes trouble with SSL
when buffers are smaller than SSL buffers. Since the issue it addresses
will be gone once the polling redesign is complete, there's no reason
for trying to workaround temporary inefficiencies. Better remove it.
This commit is contained in:
parent
ff605db510
commit
3ef5af3dcc
@ -64,14 +64,7 @@ REGPRM2 static void _do_poll(struct poller *p, int exp)
|
|||||||
|
|
||||||
if (fdtab[fd].owner && (eo ^ en)) {
|
if (fdtab[fd].owner && (eo ^ en)) {
|
||||||
if ((eo ^ en) & FD_EV_POLLED_RW) {
|
if ((eo ^ en) & FD_EV_POLLED_RW) {
|
||||||
/* poll status changed. We'll have to run some syscalls
|
/* poll status changed */
|
||||||
* for this, so let's merge any pending speculative events
|
|
||||||
* into them in order to avoid possible future failed calls
|
|
||||||
* (typically recv()). In practice on a slow connection
|
|
||||||
* establishment, this saves one epoll_ctl() and one recv().
|
|
||||||
*/
|
|
||||||
en = (en & FD_EV_POLLED_RW) | ((en & FD_EV_ACTIVE_RW) * FD_EV_POLLED / FD_EV_ACTIVE);
|
|
||||||
|
|
||||||
if ((en & FD_EV_POLLED_RW) == 0) {
|
if ((en & FD_EV_POLLED_RW) == 0) {
|
||||||
/* fd removed from poll list */
|
/* fd removed from poll list */
|
||||||
opcode = EPOLL_CTL_DEL;
|
opcode = EPOLL_CTL_DEL;
|
||||||
|
Loading…
Reference in New Issue
Block a user