mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-27 15:12:11 +00:00
BUG/MEDIUM: tcp: Make sure we keep the polling consistent in tcp_probe_connect.
In tcp_probe_connect(), if the connection is still pending, do not disable want_recv, we don't have any business to do so, but explicitely use __conn_xprt_want_send(), otherwise the next time we'll reach tcp_probe_connect, fd_send_ready() would return 0 and we would never flag the connection as CO_FL_CONNECTED, which can lead to various problems, such as check not completing because they consider it is not connected yet.
This commit is contained in:
parent
43091ed161
commit
7b3a79f6c4
@ -691,7 +691,7 @@ int tcp_connect_probe(struct connection *conn)
|
||||
|
||||
if (connect(fd, (const struct sockaddr *)addr, get_addr_len(addr)) == -1) {
|
||||
if (errno == EALREADY || errno == EINPROGRESS) {
|
||||
__conn_xprt_stop_recv(conn);
|
||||
__conn_xprt_want_send(conn);
|
||||
fd_cant_send(fd);
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user