From 833eba5304474392153189f3cc6b7baa8eb914cc Mon Sep 17 00:00:00 2001 From: wm4 Date: Thu, 19 Dec 2013 21:31:33 +0100 Subject: [PATCH] terminal: move SIGTTOU signal handler setup code This comes with a real change in behavior: now the signal handler is set only when the terminal input code is active (e.g. not with --no-consolecontrols), but this should be ok. --- common/msg.c | 7 ------- osdep/terminal-unix.c | 2 ++ 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/common/msg.c b/common/msg.c index 3dd36dfbb6..e80f6fcf16 100644 --- a/common/msg.c +++ b/common/msg.c @@ -102,13 +102,6 @@ static void mp_msg_do_init(void){ SetConsoleMode(hSTDERR, cmode); GetConsoleScreenBufferInfo(hSTDOUT, &cinfo); stdoutAttrs = cinfo.wAttributes; -#endif -#ifndef __MINGW32__ - struct sigaction sa; - sa.sa_handler = SIG_IGN; - sa.sa_flags = 0; - sigemptyset(&sa.sa_mask); - sigaction(SIGTTOU, &sa, NULL); // just write to stdout if you have to #endif int i; char *env = getenv("MPV_VERBOSE"); diff --git a/osdep/terminal-unix.c b/osdep/terminal-unix.c index 583ab162eb..050b97b9d1 100644 --- a/osdep/terminal-unix.c +++ b/osdep/terminal-unix.c @@ -554,6 +554,7 @@ void getch2_enable(void){ setsigaction(SIGQUIT, quit_request_sighandler, SA_RESETHAND, false); setsigaction(SIGTERM, quit_request_sighandler, SA_RESETHAND, false); setsigaction(SIGTTIN, SIG_IGN, 0, true); + setsigaction(SIGTTOU, SIG_IGN, 0, true); do_activate_getch2(); @@ -571,6 +572,7 @@ void getch2_disable(void){ setsigaction(SIGQUIT, SIG_DFL, 0, false); setsigaction(SIGTERM, SIG_DFL, 0, false); setsigaction(SIGTTIN, SIG_DFL, 0, false); + setsigaction(SIGTTOU, SIG_DFL, 0, false); do_deactivate_getch2();