aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew
diff options
context:
space:
mode:
Diffstat (limited to 'Library/Homebrew')
-rw-r--r--Library/Homebrew/formula.rb20
1 files changed, 13 insertions, 7 deletions
diff --git a/Library/Homebrew/formula.rb b/Library/Homebrew/formula.rb
index 645a0a6ce..7d8f99602 100644
--- a/Library/Homebrew/formula.rb
+++ b/Library/Homebrew/formula.rb
@@ -508,24 +508,30 @@ class Formula
logfn = "#{logd}/%02d.%s" % [@exec_count, File.basename(cmd).split(' ').first]
mkdir_p(logd)
- rd, wr = IO.pipe
log = File.open(logfn, "w")
log.puts Time.now, "", cmd, args, ""
- out = ARGV.verbose? ? wr : log
+ if ARGV.verbose?
+ rd, wr = IO.pipe
+ out = wr
+ else
+ out = log
+ end
begin
pid = fork do
- rd.close
- log.close unless out == log
+ if rd
+ rd.close
+ log.close
+ end
exec_cmd(cmd, args, out, logfn)
end
- wr.close
+ wr.close if wr
while buf = rd.gets
log.puts buf
puts buf
- end if ARGV.verbose?
+ end if rd
Process.wait(pid)
@@ -540,7 +546,7 @@ class Formula
raise BuildError.new(self, cmd, args)
end
ensure
- rd.close unless rd.closed?
+ rd.close if rd && !rd.closed?
end
end