ruby-changes:21779
From: akr <ko1@a...>
Date: Thu, 24 Nov 2011 20:00:49 +0900 (JST)
Subject: [ruby-changes:21779] akr:r33828 (trunk): * io.c (rb_io_reopen): re-initialize buffereing mode for stdout and
akr 2011-11-24 20:00:35 +0900 (Thu, 24 Nov 2011) New Revision: 33828 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=33828 Log: * io.c (rb_io_reopen): re-initialize buffereing mode for stdout and stderr. Modified files: trunk/ChangeLog trunk/io.c Index: ChangeLog =================================================================== --- ChangeLog (revision 33827) +++ ChangeLog (revision 33828) @@ -1,3 +1,8 @@ +Thu Nov 24 19:59:56 2011 Tanaka Akira <akr@f...> + + * io.c (rb_io_reopen): re-initialize buffereing mode for stdout and + stderr. + Thu Nov 24 11:12:48 2011 KOSAKI Motohiro <kosaki.motohiro@g...> * io.c (rb_io_fsync,rb_io_fdatasync): release GVL during fsync(). Index: io.c =================================================================== --- io.c (revision 33827) +++ io.c (revision 33828) @@ -6151,6 +6151,14 @@ if (setvbuf(fptr->stdio_file, NULL, _IOFBF, 0) != 0) rb_warn("setvbuf() can't be honoured for %s", RSTRING_PTR(fptr->pathv)); #endif + if (fptr->stdio_file == stderr) { + if (setvbuf(fptr->stdio_file, NULL, _IONBF, BUFSIZ) != 0) + rb_warn("setvbuf() can't be honoured for %s", RSTRING_PTR(fptr->pathv)); + } + else if (fptr->stdio_file == stdout && isatty(fptr->fd)) { + if (setvbuf(fptr->stdio_file, NULL, _IOLBF, BUFSIZ) != 0) + rb_warn("setvbuf() can't be honoured for %s", RSTRING_PTR(fptr->pathv)); + } } else { if (close(fptr->fd) < 0) -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/