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 +Mon Jun 13 23:33:31 2011 Nobuyoshi Nakada + + * 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