summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-06-13 14:33:36 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-06-13 14:33:36 +0000
commit73c6b9d453e2e83482b928c1447f42d35013d565 (patch)
treec73eeb251702bf5225c5f8b03e534e4c8d3daaab
parenta7b0b52f09b63e8ffe28b0040b54ae71a4a829e4 (diff)
* ext/io/console/console.c (console_dev): console should be
unbuffered. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32066 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-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