--- a/lib/mkmf.rb 2009-06-10 09:09:22.000000000 +0200 +++ b/lib/mkmf.rb 2011-11-12 02:53:05.862766935 +0100 @@ -168,19 +168,25 @@ module Logging @log = nil @logfile = 'mkmf.log' - @orgerr = $stderr.dup - @orgout = $stdout.dup @postpone = 0 def self::open @log ||= File::open(@logfile, 'w') @log.sync = true + orgerr = $stderr.dup + orgout = $stdout.dup $stderr.reopen(@log) $stdout.reopen(@log) yield ensure - $stderr.reopen(@orgerr) - $stdout.reopen(@orgout) + if orgerr + $stderr.reopen(orgerr) + orgerr.close + end + if orgout + $stdout.reopen(orgout) + orgout.close + end end def self::message(*s)