diff --git a/src/box/lua/console.c b/src/box/lua/console.c index ee94af696a3334f6a2502e63af4b2bf740323407..6bc9067b0b7709a1c37d7eeec2c27d47e540a843 100644 --- a/src/box/lua/console.c +++ b/src/box/lua/console.c @@ -274,6 +274,9 @@ console_sigint_handler(ev_loop *loop, struct ev_signal *w, int revents) /* * The idea is borrowed from * https://metacpan.org/dist/AnyEvent-ReadLine-Gnu/source/Gnu.pm + * + * Since this feature is not thread-safe, it will work only when logging occurs + * from main (transaction) thread. */ static char *saved_prompt = NULL; @@ -311,7 +314,7 @@ console_can_hide_show_prompt(void) static void console_hide_prompt(void) { - if (!console_can_hide_show_prompt()) + if (!console_can_hide_show_prompt() || !cord_is_main()) return; if (rl_prompt == NULL) { @@ -343,7 +346,7 @@ console_hide_prompt(void) static void console_show_prompt(void) { - if (!console_can_hide_show_prompt()) + if (!console_can_hide_show_prompt() || !cord_is_main()) return; rl_set_prompt(saved_prompt);