mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2024-12-20 02:30:13 +00:00
MEDIUM: mux-pt: Don't always set a final error on SE on the sending path
SE_FL_ERROR must be set on the SE descriptor only if EOS was already reported. So call se_fl_set_error() function to properly the ERR_PENDING/ERROR flags. It is not really a bug because the mux-pt is really simple. But it is better to do it now the right way.
This commit is contained in:
parent
31da34d1e7
commit
b65af26e19
@ -557,7 +557,7 @@ static size_t mux_pt_snd_buf(struct stconn *sc, struct buffer *buf, size_t count
|
||||
b_del(buf, ret);
|
||||
|
||||
if (conn->flags & CO_FL_ERROR) {
|
||||
se_fl_set(ctx->sd, SE_FL_ERROR);
|
||||
se_fl_set_error(ctx->sd);
|
||||
TRACE_DEVEL("error on connection", PT_EV_TX_DATA|PT_EV_CONN_ERR, conn, sc);
|
||||
}
|
||||
|
||||
@ -625,7 +625,7 @@ static int mux_pt_snd_pipe(struct stconn *sc, struct pipe *pipe)
|
||||
ret = conn->xprt->snd_pipe(conn, conn->xprt_ctx, pipe);
|
||||
|
||||
if (conn->flags & CO_FL_ERROR) {
|
||||
se_fl_set(ctx->sd, SE_FL_ERROR);
|
||||
se_fl_set_error(ctx->sd);
|
||||
TRACE_DEVEL("error on connection", PT_EV_TX_DATA|PT_EV_CONN_ERR, conn, sc);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user