OSDN Git Service

* fhandler_console.cc (fhandler_console::input_tcsetattr): Revert to
authorcorinna <corinna>
Thu, 14 Jul 2011 10:02:09 +0000 (10:02 +0000)
committercorinna <corinna>
Thu, 14 Jul 2011 10:02:09 +0000 (10:02 +0000)
setting ENABLE_PROCESSED_INPUT depending on ISIG and IGNBRK.
(fhandler_console::tcgetattr): Set ISIG depending on
ENABLE_PROCESSED_INPUT as well.

winsup/cygwin/ChangeLog
winsup/cygwin/fhandler_console.cc

index 0839a5f..0256a82 100644 (file)
@@ -1,3 +1,10 @@
+2011-07-14  Corinna Vinschen  <corinna@vinschen.de>
+
+       * fhandler_console.cc (fhandler_console::input_tcsetattr): Revert to
+       setting ENABLE_PROCESSED_INPUT depending on ISIG and IGNBRK.
+       (fhandler_console::tcgetattr): Set ISIG depending on
+       ENABLE_PROCESSED_INPUT as well.
+
 2011-07-13  Corinna Vinschen  <corinna@vinschen.de>
 
        * fhandler_serial.cc (fhandler_serial::raw_read): Handle non-blocking
index 8eb96b9..bf42218 100644 (file)
@@ -970,7 +970,7 @@ fhandler_console::input_tcsetattr (int, struct termios const *t)
       flags &= ~ENABLE_ECHO_INPUT;
     }
 
-  if (!(t->c_iflag & IGNBRK))
+  if ((t->c_lflag & ISIG) && !(t->c_iflag & IGNBRK))
     {
       flags |= ENABLE_PROCESSED_INPUT;
     }
@@ -1025,7 +1025,9 @@ fhandler_console::tcgetattr (struct termios *t)
       if (flags & ENABLE_LINE_INPUT)
        t->c_lflag |= ICANON;
 
-      if (!(flags & ENABLE_PROCESSED_INPUT))
+      if (flags & ENABLE_PROCESSED_INPUT)
+       t->c_lflag |= ISIG;
+      else
        t->c_iflag |= IGNBRK;
 
       /* What about ENABLE_WINDOW_INPUT