mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-01-30 14:31:08 +01:00
MINOR: cli: handle EOS/ERROR first
It is not especially a bug fixed. But APPCTX_FL_EOS and APPCTX_FL_ERROR flags must be handled first. These flags are set by the applet itself and should mark the end of all processing. So there is not reason to get the output buffer in first place. This patch could be backported as far as 3.0.
This commit is contained in:
parent
396f0252bf
commit
fb76655526
11
src/cli.c
11
src/cli.c
@ -1086,17 +1086,18 @@ int cli_parse_cmdline(struct appctx *appctx)
|
||||
*/
|
||||
void cli_io_handler(struct appctx *appctx)
|
||||
{
|
||||
if (applet_fl_test(appctx, APPCTX_FL_OUTBLK_ALLOC|APPCTX_FL_OUTBLK_FULL) ||
|
||||
!appctx_get_buf(appctx, &appctx->outbuf)) {
|
||||
applet_wont_consume(appctx);
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (unlikely(applet_fl_test(appctx, APPCTX_FL_EOS|APPCTX_FL_ERROR))) {
|
||||
appctx->st0 = CLI_ST_END;
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (applet_fl_test(appctx, APPCTX_FL_OUTBLK_ALLOC|APPCTX_FL_OUTBLK_FULL) ||
|
||||
!appctx_get_buf(appctx, &appctx->outbuf)) {
|
||||
applet_wont_consume(appctx);
|
||||
goto out;
|
||||
}
|
||||
|
||||
while (1) {
|
||||
if (appctx->st0 == CLI_ST_INIT) {
|
||||
/* reset severity to default at init */
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user