mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
d001539a05
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32217 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
16 lines
418 B
Ruby
16 lines
418 B
Ruby
module Rake
|
|
|
|
# Same as a regular task, but the immediate prerequisites are done in
|
|
# parallel using Ruby threads.
|
|
#
|
|
class MultiTask < Task
|
|
private
|
|
def invoke_prerequisites(args, invocation_chain)
|
|
threads = @prerequisites.collect { |p|
|
|
Thread.new(p) { |r| application[r, @scope].invoke_with_call_chain(args, invocation_chain) }
|
|
}
|
|
threads.each { |t| t.join }
|
|
end
|
|
end
|
|
|
|
end
|