From d315a77a79817d364a1562f4457c21fbb8174025 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Fri, 8 Oct 2021 22:18:24 +0200 Subject: [PATCH] resize: use tcgetattr(TCSAFLUSH) instead of TCSANOW, closes 13811 Signed-off-by: Denys Vlasenko --- console-tools/resize.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/console-tools/resize.c b/console-tools/resize.c index 59d468d48..056e33750 100644 --- a/console-tools/resize.c +++ b/console-tools/resize.c @@ -74,7 +74,19 @@ int resize_main(int argc UNUSED_PARAM, char **argv UNUSED_PARAM) + (1 << SIGTERM) + (1 << SIGALRM) , onintr); - tcsetattr(STDERR_FILENO, TCSANOW, &new); + /* Users report: + * The resize command messes up the terminal. + * In my case it looks like it is hanging and + * I need to press ctrl-c to get a prompt. + * Actually the program does not hang but just + * the terminal is messed up. + * Replaced TCSANOW with TCSAFLUSH: + * "the change occurs after all output written to fd + * has been transmitted, and all input that has been + * received but not read will be discarded before + * the change is made. + */ + tcsetattr(STDERR_FILENO, TCSAFLUSH, &new); /* save_cursor_pos 7 * scroll_whole_screen [r