summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rwxr-xr-xext/extmk.rb11
2 files changed, 12 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index bda7ddfd7f..3bb0ada8ae 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Sun May 20 23:00:11 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * ext/extmk.rb (extmake): reopen $stdout to NULL, since setting
+ $stdout cannot affect child processes.
+
Sun May 20 21:36:39 2012 NARUSE, Yui <naruse@ruby-lang.org>
* enc/shift_jis.c (code_to_mbclen): return
diff --git a/ext/extmk.rb b/ext/extmk.rb
index e37ea6613d..9293ecaf87 100755
--- a/ext/extmk.rb
+++ b/ext/extmk.rb
@@ -187,15 +187,18 @@ def extmake(target)
Logging::logfile 'mkmf.log'
rm_f makefile
if conf
+ stdout = $stdout.dup
+ stderr = $stderr.dup
unless verbose?
- stdout, $stdout = $stdout, File.open(File::NULL, "a")
- else
- stdout = $stdout
+ $stderr.reopen($stdout.reopen(File::NULL))
end
begin
load $0 = conf
ensure
- $stdout = stdout
+ $stderr.reopen(stderr)
+ $stdout.reopen(stdout)
+ stdout.close
+ stderr.close
end
else
create_makefile(target)