readall: put nostdout in outter layer

The previous code would fail to reset stdout after thread jobs are finshed.
This commit is contained in:
Xu Cheng 2015-09-05 14:27:36 +08:00
parent 7f3e3b5256
commit ffdede2ac4

View File

@ -17,17 +17,19 @@ module Homebrew
end end
failed = false failed = false
workers = (0...Hardware::CPU.cores).map do nostdout do
Thread.new do workers = (0...Hardware::CPU.cores).map do
begin Thread.new do
while rb = ruby_files.pop(true) begin
nostdout { failed = true unless system RUBY_PATH, "-c", "-w", rb } while rb = ruby_files.pop(true)
failed = true unless system RUBY_PATH, "-c", "-w", rb
end
rescue ThreadError # ignore empty queue error
end end
rescue ThreadError # ignore empty queue error
end end
end end
workers.map(&:join)
end end
workers.map(&:join)
Homebrew.failed = failed Homebrew.failed = failed
end end