diff --git a/lib/mkmf.rb b/lib/mkmf.rb index c9e738a..7a8004d 100644 --- a/lib/mkmf.rb +++ b/lib/mkmf.rb @@ -201,20 +201,26 @@ end module Logging @log = nil @logfile = 'mkmf.log' - @orgerr = $stderr.dup - @orgout = $stdout.dup @postpone = 0 @quiet = $extmk 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)