Use ThreadError to break loop.
This commit is contained in:
parent
ff30a303c8
commit
7b8bae710e
@ -121,11 +121,12 @@ module Homebrew
|
|||||||
map { |p| HOMEBREW_PREFIX/p }.each { |p| paths << p if p.exist? }
|
map { |p| HOMEBREW_PREFIX/p }.each { |p| paths << p if p.exist? }
|
||||||
workers = (0...Hardware::CPU.cores).map do
|
workers = (0...Hardware::CPU.cores).map do
|
||||||
Thread.new do
|
Thread.new do
|
||||||
begin
|
Kernel.loop do
|
||||||
while p = paths.pop(true)
|
begin
|
||||||
quiet_system "find", p, "-name", ".DS_Store", "-delete"
|
quiet_system "find", paths.deq(true), "-name", ".DS_Store", "-delete"
|
||||||
|
rescue ThreadError
|
||||||
|
break # if queue is empty
|
||||||
end
|
end
|
||||||
rescue ThreadError # ignore empty queue error
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@ -11,12 +11,13 @@ module Readall
|
|||||||
failed = false
|
failed = false
|
||||||
workers = (0...Hardware::CPU.cores).map do
|
workers = (0...Hardware::CPU.cores).map do
|
||||||
Thread.new do
|
Thread.new do
|
||||||
begin
|
Kernel.loop do
|
||||||
while rb = ruby_files_queue.pop(true)
|
begin
|
||||||
# As a side effect, print syntax errors/warnings to `$stderr`.
|
# As a side effect, print syntax errors/warnings to `$stderr`.
|
||||||
failed = true if syntax_errors_or_warnings?(rb)
|
failed = true if syntax_errors_or_warnings?(ruby_files_queue.deq(true))
|
||||||
|
rescue ThreadError
|
||||||
|
break
|
||||||
end
|
end
|
||||||
rescue ThreadError # ignore empty queue error
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user