aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ext/io/console/console.c2
-rw-r--r--test/io/console/test_io_console.rb10
2 files changed, 11 insertions, 1 deletions
diff --git a/ext/io/console/console.c b/ext/io/console/console.c
index 546f96226b..ec70bdf9df 100644
--- a/ext/io/console/console.c
+++ b/ext/io/console/console.c
@@ -187,7 +187,7 @@ set_rawmode(conmode *t, void *arg)
#ifdef ISIG
if (r->intr) {
t->c_iflag |= BRKINT|IXON;
- t->c_lflag |= ISIG|IEXTEN;
+ t->c_lflag |= ISIG;
}
#endif
(void)r;
diff --git a/test/io/console/test_io_console.rb b/test/io/console/test_io_console.rb
index eab0fb6c6d..765385df40 100644
--- a/test/io/console/test_io_console.rb
+++ b/test/io/console/test_io_console.rb
@@ -352,6 +352,16 @@ defined?(PTY) and defined?(IO.console) and TestIO_Console.class_eval do
assert_ctrl("#{cc.ord}", cc, r, w)
assert_ctrl("Interrupt", cc, r, w)
end
+ if cc = ctrl["dsusp"]
+ assert_ctrl("#{cc.ord}", cc, r, w)
+ assert_ctrl("#{cc.ord}", cc, r, w)
+ assert_ctrl("#{cc.ord}", cc, r, w)
+ end
+ if cc = ctrl["lnext"]
+ assert_ctrl("#{cc.ord}", cc, r, w)
+ assert_ctrl("#{cc.ord}", cc, r, w)
+ assert_ctrl("#{cc.ord}", cc, r, w)
+ end
end
end