summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--ext/io/console/console.c2
-rw-r--r--test/io/console/test_io_console.rb4
3 files changed, 10 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index ad8363ecb1..8bd5332a9b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,4 +1,7 @@
-Mon Jun 13 23:28:50 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
+Mon Jun 13 23:33:31 2011 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ext/io/console/console.c (console_dev): console should be
+ unbuffered.
* ext/io/console/console.c (console_dev): take care of no-ctty
case.
diff --git a/ext/io/console/console.c b/ext/io/console/console.c
index c2660d2ac9..635c2afc9b 100644
--- a/ext/io/console/console.c
+++ b/ext/io/console/console.c
@@ -587,7 +587,9 @@ console_dev(VALUE klass)
fptr->f2 = ofptr->f;
ofptr->f = 0;
# endif
+ optr->mode |= FMODE_SYNC;
#endif
+ fptr->mode |= FMODE_SYNC;
rb_const_set(klass, id_console, con);
}
return con;
diff --git a/test/io/console/test_io_console.rb b/test/io/console/test_io_console.rb
index 5475a93fa3..b06b5d5c67 100644
--- a/test/io/console/test_io_console.rb
+++ b/test/io/console/test_io_console.rb
@@ -148,6 +148,10 @@ class TestIO_Console < Test::Unit::TestCase
}
end
+ def test_sync
+ assert(helper {IO.console.sync}, "console should be unbuffered")
+ end
+
private
def helper
m, s = PTY.open