Bug #672: rb_io_flush in pipe_open
http://redmine.ruby-lang.org/issues/show/672

起票者: Kazuhiro NISHIYAMA
ステータス: Open, 優先度: Normal
カテゴリ: core

直後のrb_forkの中で
#define prefork() (             \
        rb_io_flush(rb_stdout), \
        rb_io_flush(rb_stderr)  \
        )
    prefork();
としているので、pipe_openのrb_io_flushは不要なのではないでしょうか?

Index: io.c
===================================================================
--- io.c	(revision 19868)
+++ io.c	(working copy)
@@ -4445,8 +4445,6 @@ pipe_open(struct rb_exec_arg *eargp, VAL
     }
     else {
 	fflush(stdin);		/* is it really needed? */
-	rb_io_flush(rb_stdout);
-	rb_io_flush(rb_stderr);
 	pid = rb_fork(&status, 0, 0, Qnil);
 	if (pid == 0) {		/* child */
 	    popen_redirect(&arg);


----------------------------------------
http://redmine.ruby-lang.org