From 13ed292ab054ba09f9257d9c510cd7ce39f4b7d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kacper=20Michaj=C5=82ow?= Date: Thu, 4 Jan 2024 21:01:01 +0100 Subject: terminal: don't print escape sequence if not tty --- osdep/terminal-unix.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'osdep/terminal-unix.c') diff --git a/osdep/terminal-unix.c b/osdep/terminal-unix.c index 72d0d14899..be0463b871 100644 --- a/osdep/terminal-unix.c +++ b/osdep/terminal-unix.c @@ -424,8 +424,10 @@ static MP_THREAD_VOID terminal_thread(void *ptr) (void)read(stop_cont_pipe[0], &c, 1); if (c == PIPE_STOP) { do_deactivate_getch2(); - (void)write(STDERR_FILENO, TERM_ESC_RESTORE_CURSOR, - sizeof(TERM_ESC_RESTORE_CURSOR) - 1); + if (isatty(STDERR_FILENO)) { + (void)write(STDERR_FILENO, TERM_ESC_RESTORE_CURSOR, + sizeof(TERM_ESC_RESTORE_CURSOR) - 1); + } // trying to reset SIGTSTP handler to default and raise it will // result in a race and there's no other way to invoke the // default handler. so just invoke SIGSTOP since it's -- cgit v1.2.3