mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-08-07 07:37:02 +02:00
BUG/MEDIUM: stconn: Propagate error on the SC on sending path
On sending path, a pending error can be promoted to a terminal error at the endpoint level (SE_FL_ERR_PENDING to SE_FL_ERROR). When this happens, we must propagate the error on the SC to be able to handle it at the stream level and eventually forward it to the other side. Because of this bug, it is possible to freeze sessions, for instance on the CLI. It is a 2.8-specific issue. No backport needed.
This commit is contained in:
parent
845f7c4708
commit
d0c57d3d33
@ -1664,6 +1664,8 @@ static int sc_conn_send(struct stconn *sc)
|
||||
if (sc_ep_test(sc, SE_FL_ERROR | SE_FL_ERR_PENDING)) {
|
||||
oc->flags |= CF_WRITE_EVENT;
|
||||
BUG_ON(sc_ep_test(sc, SE_FL_EOS|SE_FL_ERROR|SE_FL_ERR_PENDING) == (SE_FL_EOS|SE_FL_ERR_PENDING));
|
||||
if (sc_ep_test(sc, SE_FL_ERROR))
|
||||
sc->flags |= SC_FL_ERROR;
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user