    # File lib/active_record/connection_adapters/abstract/connection_pool.rb, line 66
          def initialize(spec)
            @spec = spec

            # The cache of reserved connections mapped to threads
            @reserved_connections = {}

            # The mutex used to synchronize pool access
            @connection_mutex = Monitor.new
            @queue = @connection_mutex.new_cond

            # default 5 second timeout unless on ruby 1.9
            @timeout =
              if RUBY_VERSION < '1.9'
                spec.config[:wait_timeout] || 5
              end

            # default max pool size to 5
            @size = (spec.config[:pool] && spec.config[:pool].to_i) || 5

            @connections = []
            @checked_out = []
          end