A monitor that will permit dependency loading while blocked waiting for the lock.

Methods

Instance Public methods

mon_enter()

Enters an exclusive section, but allows dependency loading while blocked

📝 Source code
# File activesupport/lib/active_support/concurrency/load_interlock_aware_monitor.rb, line 15
      def mon_enter
        mon_try_enter ||
          ActiveSupport::Dependencies.interlock.permit_concurrent_loads { super }
      end
🔎 See on GitHub

synchronize()

📝 Source code
# File activesupport/lib/active_support/concurrency/load_interlock_aware_monitor.rb, line 20
      def synchronize
        Thread.handle_interrupt(EXCEPTION_NEVER) do
          mon_enter

          begin
            Thread.handle_interrupt(EXCEPTION_IMMEDIATE) do
              yield
            end
          ensure
            mon_exit
          end
        end
      end
🔎 See on GitHub