From 109bc583039f714444b2ac7ad0dc8c7491dc69e5 Mon Sep 17 00:00:00 2001 From: Corinna Vinschen Date: Fri, 2 Mar 2012 11:56:06 +0000 Subject: [PATCH] * fhandler_console.cc (fhandler_console::input_tcsetattr): Revert prevois patch. (fhandler_console::open_setup): Install Ctrl-C handler here, if this console is the controlling tty and the process hasn't been started by a Cygwin process. --- winsup/cygwin/ChangeLog | 8 ++++++++ winsup/cygwin/fhandler_console.cc | 6 ++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/winsup/cygwin/ChangeLog b/winsup/cygwin/ChangeLog index ae09ed80d..8d1b8cf6e 100644 --- a/winsup/cygwin/ChangeLog +++ b/winsup/cygwin/ChangeLog @@ -1,3 +1,11 @@ +2012-03-02 Corinna Vinschen + + * fhandler_console.cc (fhandler_console::input_tcsetattr): Revert + prevois patch. + (fhandler_console::open_setup): Install Ctrl-C handler here, if this + console is the controlling tty and the process hasn't been started by + a Cygwin process. + 2012-03-02 Corinna Vinschen * fhandler_console.cc (fhandler_console::input_tcsetattr): Set the diff --git a/winsup/cygwin/fhandler_console.cc b/winsup/cygwin/fhandler_console.cc index f4e8b10e6..4ed56635f 100644 --- a/winsup/cygwin/fhandler_console.cc +++ b/winsup/cygwin/fhandler_console.cc @@ -828,7 +828,8 @@ void fhandler_console::open_setup (int flags) { set_flags ((flags & ~O_TEXT) | O_BINARY); - myself->set_ctty (this, flags); + if (myself->set_ctty (this, flags) && !myself->cygstarted) + init_console_handler (true); } int @@ -1009,9 +1010,6 @@ fhandler_console::input_tcsetattr (int, struct termios const *t) res = SetConsoleMode (get_io_handle (), flags) ? 0 : -1; if (res < 0) __seterrno (); - else - /* Set state of ctrl_c handler depending on ENABLE_PROCESSED_INPUT. */ - init_console_handler (flags & ENABLE_PROCESSED_INPUT); syscall_printf ("%d = tcsetattr(,%x) enable flags %p, c_lflag %p iflag %p", res, t, flags, t->c_lflag, t->c_iflag); }