From 7b8bae710e79f51b4286b9cf955c837d09f078f1 Mon Sep 17 00:00:00 2001 From: Markus Reiter Date: Mon, 22 Aug 2016 08:52:42 +0200 Subject: Use `ThreadError` to break loop. --- Library/Homebrew/cleanup.rb | 9 +++++---- Library/Homebrew/readall.rb | 9 +++++---- 2 files changed, 10 insertions(+), 8 deletions(-) (limited to 'Library') 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 -- cgit v1.2.3