aboutsummaryrefslogtreecommitdiffstats
path: root/lib/bundler/parallel_workers.rb
blob: b28f6304613686e8174ebaa00ec088563765d3dc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
require 'thread'

require "bundler/parallel_workers/worker"

module Bundler
  module ParallelWorkers
    autoload :UnixWorker, "bundler/parallel_workers/unix_worker"
    autoload :ThreadWorker, "bundler/parallel_workers/thread_worker"

    def self.worker_pool(size, job)
      if Bundler.current_ruby.mswin? || Bundler.current_ruby.jruby? || Bundler.current_ruby.rbx?
        ThreadWorker.new(size, job)
      else
        UnixWorker.new(size, job)
      end
    end
  end
end