Merge pull request #6030 from MikeMcQuaid/ruby-no-threads

Remove usage of Thread.new
This commit is contained in:
Mike McQuaid 2019-04-18 16:03:18 +09:00 committed by GitHub
commit 640234caa1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 4 additions and 39 deletions

View File

@ -8,30 +8,6 @@ CLEANUP_DEFAULT_DAYS = 30
CLEANUP_MAX_AGE_DAYS = 120
module CleanupRefinement
refine Enumerator do
def parallel
queue = Queue.new
each do |element|
queue.enq(element)
end
workers = (0...Hardware::CPU.cores).map do
Thread.new do
Kernel.loop do
begin
yield queue.deq(true)
rescue ThreadError
break # if queue is empty
end
end
end
end
workers.each(&:join)
end
end
refine Pathname do
def incomplete?
extname.end_with?(".incomplete")
@ -405,7 +381,7 @@ module Homebrew
HOMEBREW_PREFIX/"Caskroom",
]
end
dirs.select(&:directory?).each.parallel do |dir|
dirs.select(&:directory?).each do |dir|
system_command "find",
args: [dir, "-name", ".DS_Store", "-delete"],
print_stderr: false

View File

@ -3,22 +3,11 @@ require "formula"
module Readall
class << self
def valid_ruby_syntax?(ruby_files)
ruby_files_queue = Queue.new
ruby_files.each { |f| ruby_files_queue << f }
failed = false
workers = (0...Hardware::CPU.cores).map do
Thread.new do
Kernel.loop do
begin
# As a side effect, print syntax errors/warnings to `$stderr`.
failed = true if syntax_errors_or_warnings?(ruby_files_queue.deq(true))
rescue ThreadError
break
end
end
end
ruby_files.each do |ruby_file|
# As a side effect, print syntax errors/warnings to `$stderr`.
failed = true if syntax_errors_or_warnings?(ruby_file)
end
workers.each(&:join)
!failed
end