mirror of
http://git.haproxy.org/git/haproxy.git/
synced 2025-01-15 10:11:03 +00:00
MINOR: cli: always reset the applet task's timeout
The CLI applet doesn't make use of its timeout at all, only the stream does. That's a wonder because it allows any command's I/O handler to trivially set a wakeup timer by simply touching the task's ->expire field, and the I/O handler will automatically be woken up again. The only condition for this is that we properly take care of clearing that timeout whenever we finish processing a command and switch back to the PROMPT state. That's what this patch does.
This commit is contained in:
parent
3d91ffdaff
commit
02b31fa003
@ -1027,6 +1027,7 @@ static void cli_io_handler(struct appctx *appctx)
|
||||
appctx->chunk->data++;
|
||||
}
|
||||
|
||||
appctx->t->expire = TICK_ETERNITY;
|
||||
appctx->st0 = CLI_ST_PROMPT;
|
||||
|
||||
if (appctx->st1 & APPCTX_CLI_ST1_PAYLOAD) {
|
||||
@ -1139,6 +1140,7 @@ static void cli_io_handler(struct appctx *appctx)
|
||||
appctx->st0 == CLI_ST_PRINT_UMSGERR) {
|
||||
usermsgs_clr(NULL);
|
||||
}
|
||||
appctx->t->expire = TICK_ETERNITY;
|
||||
appctx->st0 = CLI_ST_PROMPT;
|
||||
}
|
||||
break;
|
||||
@ -1146,6 +1148,7 @@ static void cli_io_handler(struct appctx *appctx)
|
||||
case CLI_ST_CALLBACK: /* use custom pointer */
|
||||
if (appctx->io_handler)
|
||||
if (appctx->io_handler(appctx)) {
|
||||
appctx->t->expire = TICK_ETERNITY;
|
||||
appctx->st0 = CLI_ST_PROMPT;
|
||||
if (appctx->io_release) {
|
||||
appctx->io_release(appctx);
|
||||
|
Loading…
Reference in New Issue
Block a user