mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-22 14:21:25 +02:00
BUG/MEDIUM: stream_interface: Only use SI_ST_RDY when the mux is ready.
In si_connect(), only switch the strema_interface status to SI_ST_RDY if we're reusing a connection and if the connection's mux is ready. Otherwise, maybe we're reusing a connection that is not fully established yet, and may fail, and setting SI_ST_RDY would mean we would not be able to retry to connect. This should be backported to 1.9 and 2.0. This commit depends on 55234e33708c5a584fb9efea81d71ac47235d518.
This commit is contained in:
parent
9b8e11e691
commit
6e8e2ec849
@ -521,7 +521,11 @@ static inline int si_connect(struct stream_interface *si, struct connection *con
|
|||||||
/* try to reuse the existing connection, it will be
|
/* try to reuse the existing connection, it will be
|
||||||
* confirmed once we can send on it.
|
* confirmed once we can send on it.
|
||||||
*/
|
*/
|
||||||
|
/* Is the connection really ready ? */
|
||||||
|
if (conn->mux->ctl(conn, MUX_STATUS, NULL) & MUX_STATUS_READY)
|
||||||
si->state = SI_ST_RDY;
|
si->state = SI_ST_RDY;
|
||||||
|
else
|
||||||
|
si->state = SI_ST_CON;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* needs src ip/port for logging */
|
/* needs src ip/port for logging */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user