diff options
| author | Markus Reiter | 2016-08-22 08:52:42 +0200 |
|---|---|---|
| committer | Markus Reiter | 2016-08-22 08:57:47 +0200 |
| commit | 7b8bae710e79f51b4286b9cf955c837d09f078f1 (patch) | |
| tree | 42b7a476731c426816efad3f57cf25b486462c0c | |
| parent | ff30a303c8844820dc5bf18f6ea12c485180f4a2 (diff) | |
| download | brew-7b8bae710e79f51b4286b9cf955c837d09f078f1.tar.bz2 | |
Use `ThreadError` to break loop.
| -rw-r--r-- | Library/Homebrew/cleanup.rb | 9 | ||||
| -rw-r--r-- | Library/Homebrew/readall.rb | 9 |
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 |
