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); }