Namespace

Module

Class

Methods

Class Public methods

load_interlock(&block)

Execute the supplied block while holding an exclusive lock, preventing any other thread from being inside a run_interlock block at the same time.

# File activesupport/lib/active_support/dependencies.rb, line 24
def self.load_interlock(&block)
  interlock.loading(&block)
end

run_interlock(&block)

Execute the supplied block without interference from any concurrent loads.

# File activesupport/lib/active_support/dependencies.rb, line 17
def self.run_interlock(&block)
  interlock.running(&block)
end

unload_interlock(&block)

Execute the supplied block while holding an exclusive lock, preventing any other thread from being inside a run_interlock block at the same time.

# File activesupport/lib/active_support/dependencies.rb, line 31
def self.unload_interlock(&block)
  interlock.unloading(&block)
end