Sha256: 27a029034cfb81fb65ef49febd0530209ffc85280743ec95846f1263f03a6278

Contents?: true

Size: 468 Bytes

Versions: 79

Compression:

Stored size: 468 Bytes

Contents

# frozen_string_literal: true

require "monitor"

module ActiveSupport
  module Concurrency
    # A monitor that will permit dependency loading while blocked waiting for
    # the lock.
    class LoadInterlockAwareMonitor < Monitor
      # Enters an exclusive section, but allows dependency loading while blocked
      def mon_enter
        mon_try_enter ||
          ActiveSupport::Dependencies.interlock.permit_concurrent_loads { super }
      end
    end
  end
end

Version data entries

79 entries across 71 versions & 11 rubygems

Version Path
activesupport-5.2.7.1 lib/active_support/concurrency/load_interlock_aware_monitor.rb
activesupport-5.2.7 lib/active_support/concurrency/load_interlock_aware_monitor.rb
activesupport-5.2.6.3 lib/active_support/concurrency/load_interlock_aware_monitor.rb
activesupport-5.2.6.2 lib/active_support/concurrency/load_interlock_aware_monitor.rb
activesupport-5.2.6.1 lib/active_support/concurrency/load_interlock_aware_monitor.rb
activesupport-5.2.6 lib/active_support/concurrency/load_interlock_aware_monitor.rb
activesupport-5.2.4.6 lib/active_support/concurrency/load_interlock_aware_monitor.rb
activesupport-5.2.5 lib/active_support/concurrency/load_interlock_aware_monitor.rb
activesupport-5.2.4.5 lib/active_support/concurrency/load_interlock_aware_monitor.rb
grape-extra_validators-2.0.0 vendor/bundle/ruby/2.6.0/gems/activesupport-5.2.4.1/lib/active_support/concurrency/load_interlock_aware_monitor.rb
activesupport-5.2.4.4 lib/active_support/concurrency/load_interlock_aware_monitor.rb
activesupport-5.2.4.3 lib/active_support/concurrency/load_interlock_aware_monitor.rb
activesupport-6.0.2.2 lib/active_support/concurrency/load_interlock_aware_monitor.rb
activesupport-5.2.4.2 lib/active_support/concurrency/load_interlock_aware_monitor.rb
argon-1.3.1 vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.2.1/lib/active_support/concurrency/load_interlock_aware_monitor.rb
symbolic_enum-1.1.5 vendor/bundle/ruby/2.7.0/gems/activesupport-6.0.2.1/lib/active_support/concurrency/load_interlock_aware_monitor.rb
grape-extra_validators-1.0.0 vendor/bundle/ruby/2.4.0/gems/activesupport-5.2.4.1/lib/active_support/concurrency/load_interlock_aware_monitor.rb
activesupport-6.0.2.1 lib/active_support/concurrency/load_interlock_aware_monitor.rb
activesupport-5.2.4.1 lib/active_support/concurrency/load_interlock_aware_monitor.rb
activesupport-6.0.2 lib/active_support/concurrency/load_interlock_aware_monitor.rb