[git commit] resize: use tcgetattr(TCSAFLUSH) instead of TCSANOW, closes 13811
Denys Vlasenko
vda.linux at googlemail.com
Fri Oct 8 20:18:24 UTC 2021
commit: https://git.busybox.net/busybox/commit/?id=d315a77a79817d364a1562f4457c21fbb8174025
branch: https://git.busybox.net/busybox/commit/?id=refs/heads/master
Signed-off-by: Denys Vlasenko <vda.linux at googlemail.com>
---
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
More information about the busybox-cvs
mailing list