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.
{
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;
}
channel_auto_read(req);
channel_abort(req);
- channel_auto_close(req);
channel_erase(req);
channel_auto_read(res);
channel_auto_read(req);
channel_abort(req);
- channel_auto_close(req);
channel_htx_erase(req, htxbuf(&req->buf));
channel_auto_read(res);
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);
channel_auto_read(ic);
channel_abort(ic);
- channel_auto_close(ic);
channel_erase(ic);
channel_truncate(oc);