A monitor that will permit dependency loading while blocked waiting for the lock.
Methods
- M
-
- S
-
Instance Public methods
mon_enter()
Link
Enters an exclusive section, but allows dependency loading while blocked
Source:
show
|
on GitHub
def mon_enter
mon_try_enter ||
ActiveSupport::Dependencies.interlock.permit_concurrent_loads { super }
end
synchronize(&block)
Link
Source:
show
|
on GitHub
def synchronize(&block)
Thread.handle_interrupt(EXCEPTION_NEVER) do
mon_enter
begin
Thread.handle_interrupt(EXCEPTION_IMMEDIATE, &block)
ensure
mon_exit
end
end
end