BUG/MEDIUM: stats: Eat output data when waiting for appctx shutdown

When the stats applet is executed while a shut is pending, the remaining
output data must always be consumed. Otherwise, this can prevent the stream
to exit, leading to a spinning loop on the applet.

It is 2.8-specific. No backport needed.
This commit is contained in:
Christopher Faulet 2023-04-11 07:41:30 +02:00
parent 1901c1bf5a
commit 9837bd86dc

View File

@ -4459,8 +4459,10 @@ static void http_stats_io_handler(struct appctx *appctx)
res_htx = htx_from_buf(&res->buf);
if (unlikely(se_fl_test(appctx->sedesc, (SE_FL_EOS|SE_FL_ERROR|SE_FL_SHR|SE_FL_SHW))))
if (unlikely(se_fl_test(appctx->sedesc, (SE_FL_EOS|SE_FL_ERROR|SE_FL_SHR|SE_FL_SHW)))) {
appctx->st0 = STAT_HTTP_END;
goto out;
}
/* Check if the input buffer is available. */
if (!b_size(&res->buf)) {