From b65af26e19a549792ec01608fbcf54b59656f92a Mon Sep 17 00:00:00 2001 From: Christopher Faulet Date: Wed, 5 Oct 2022 11:01:56 +0200 Subject: [PATCH] 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. --- src/mux_pt.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mux_pt.c b/src/mux_pt.c index baa67cea45..86a1f2362e 100644 --- a/src/mux_pt.c +++ b/src/mux_pt.c @@ -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); } -- 2.39.5