aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarkus Reiter2016-08-22 08:52:42 +0200
committerMarkus Reiter2016-08-22 08:57:47 +0200
commit7b8bae710e79f51b4286b9cf955c837d09f078f1 (patch)
tree42b7a476731c426816efad3f57cf25b486462c0c
parentff30a303c8844820dc5bf18f6ea12c485180f4a2 (diff)
downloadbrew-7b8bae710e79f51b4286b9cf955c837d09f078f1.tar.bz2
Use `ThreadError` to break loop.
-rw-r--r--Library/Homebrew/cleanup.rb9
-rw-r--r--Library/Homebrew/readall.rb9
2 files changed, 10 insertions, 8 deletions
diff --git a/Library/Homebrew/cleanup.rb b/Library/Homebrew/cleanup.rb
index 96689be11..41c4bbf34 100644
--- a/Library/Homebrew/cleanup.rb
+++ b/Library/Homebrew/cleanup.rb
@@ -121,11 +121,12 @@ module Homebrew
map { |p| HOMEBREW_PREFIX/p }.each { |p| paths << p if p.exist? }
workers = (0...Hardware::CPU.cores).map do
Thread.new do
- begin
- while p = paths.pop(true)
- quiet_system "find", p, "-name", ".DS_Store", "-delete"
+ Kernel.loop do
+ begin
+ quiet_system "find", paths.deq(true), "-name", ".DS_Store", "-delete"
+ rescue ThreadError
+ break # if queue is empty
end
- rescue ThreadError # ignore empty queue error
end
end
end
diff --git a/Library/Homebrew/readall.rb b/Library/Homebrew/readall.rb
index 4d09226f5..61222e015 100644
--- a/Library/Homebrew/readall.rb
+++ b/Library/Homebrew/readall.rb
@@ -11,12 +11,13 @@ module Readall
failed = false
workers = (0...Hardware::CPU.cores).map do
Thread.new do
- begin
- while rb = ruby_files_queue.pop(true)
+ Kernel.loop do
+ begin
# 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
- rescue ThreadError # ignore empty queue error
end
end
end