MINOR: channel: Forwad close to other side on abort

Most of calls to channel_abort() are associated to a call to
channel_auto_close(). Others are in areas where the auto close is the
default. So, it is now systematically enabled when an abort is performed on
a channel, as part of channel_abort() function.
This commit is contained in:
Christopher Faulet 2023-04-13 15:13:12 +02:00
parent c394e21933
commit 3db538ac2f
4 changed files with 1 additions and 4 deletions

View File

@ -565,6 +565,7 @@ static inline void channel_abort(struct channel *chn)
{
chn_prod(chn)->flags |= SC_FL_SHUTR_NOW;
chn_cons(chn)->flags |= SC_FL_SHUTW_NOW;
chn->flags |= CF_AUTO_CLOSE;
chn->flags &= ~CF_AUTO_CONNECT;
}

View File

@ -8158,7 +8158,6 @@ __LJMP static int hlua_txn_done(lua_State *L)
channel_auto_read(req);
channel_abort(req);
channel_auto_close(req);
channel_erase(req);
channel_auto_read(res);

View File

@ -4446,7 +4446,6 @@ int http_forward_proxy_resp(struct stream *s, int final)
channel_auto_read(req);
channel_abort(req);
channel_auto_close(req);
channel_htx_erase(req, htxbuf(&req->buf));
channel_auto_read(res);
@ -4511,7 +4510,6 @@ end:
channel_auto_read(&s->req);
channel_abort(&s->req);
channel_auto_close(&s->req);
channel_htx_erase(&s->req, htxbuf(&s->req.buf));
channel_auto_read(&s->res);
channel_auto_close(&s->res);

View File

@ -846,7 +846,6 @@ void stream_retnclose(struct stream *s, const struct buffer *msg)
channel_auto_read(ic);
channel_abort(ic);
channel_auto_close(ic);
channel_erase(ic);
channel_truncate(oc);