• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

ruby-concurrency / concurrent-ruby / #2938

11 Aug 2014 02:52PM UTC coverage: 45.217% (-45.4%) from 90.621%
#2938

push

jdantonio
Removed Rbx from Travis allowed failures list.

1366 of 3021 relevant lines covered (45.22%)

0.66 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

44.44
/lib/concurrent/executor/ruby_fixed_thread_pool.rb
1
require 'concurrent/executor/ruby_thread_pool_executor'
1✔
2

3
module Concurrent
1✔
4

5
  # @!macro fixed_thread_pool
6
  class RubyFixedThreadPool < RubyThreadPoolExecutor
1✔
7

8
    # Create a new thread pool.
9
    #
10
    # @param [Integer] num_threads the number of threads to allocate
11
    # @param [Hash] opts the options defining pool behavior.
12
    # @option opts [Symbol] :overflow_policy (`:abort`) the overflow policy
13
    #
14
    # @raise [ArgumentError] if `num_threads` is less than or equal to zero
15
    # @raise [ArgumentError] if `overflow_policy` is not a known policy
16
    def initialize(num_threads, opts = {})
1✔
17
      overflow_policy = opts.fetch(:overflow_policy, :abort)
×
18

19
      raise ArgumentError.new('number of threads must be greater than zero') if num_threads < 1
×
20
      raise ArgumentError.new("#{overflow_policy} is not a valid overflow policy") unless OVERFLOW_POLICIES.include?(overflow_policy)
×
21

22
      opts = {
23
        min_threads: num_threads,
×
24
        max_threads: num_threads,
25
        overflow_policy: overflow_policy,
26
        max_queue: DEFAULT_MAX_QUEUE_SIZE,
27
        idletime: DEFAULT_THREAD_IDLETIMEOUT,
28
      }.merge(opts)
29
      super(opts)
×
30
    end
31
  end
32
end
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc