mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-11-28 22:31:06 +01:00
BUG/MINOR: stream_interface: don't return when the fd is already set
Back in the days where polling was made with select() where all FDs were checked at once, stream_int_chk_snd_conn() used to check whether the file descriptor it was passed was ready or not, so that it did not perform the work for nothing. Right now FDs are checked just before calling the I/O handler so this test never matches at best, or may return false information at worst. Since conn_fd_handler() always clears the flags upon exit, it looks like a missed event cannot happen right now. Still, better remove this outdated check than wait for it to cause issues.
This commit is contained in:
parent
ca00fbcb91
commit
b016587068
@ -795,8 +795,7 @@ static void stream_int_chk_snd_conn(struct stream_interface *si)
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
if (!ob->pipe && /* spliced data wants to be forwarded ASAP */
|
if (!ob->pipe && /* spliced data wants to be forwarded ASAP */
|
||||||
(!(si->flags & SI_FL_WAIT_DATA) || /* not waiting for data */
|
!(si->flags & SI_FL_WAIT_DATA)) /* not waiting for data */
|
||||||
(fdtab[si->conn->t.sock.fd].ev & FD_POLL_OUT))) /* we'll be called anyway */
|
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (!(si->conn->flags & (CO_FL_HANDSHAKE|CO_FL_WAIT_L4_CONN|CO_FL_WAIT_L6_CONN))) {
|
if (!(si->conn->flags & (CO_FL_HANDSHAKE|CO_FL_WAIT_L4_CONN|CO_FL_WAIT_L6_CONN))) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user