class Portal::Lock

@api private @since 0.1.0

Attributes

lock[R]

@return [Mutex]

@api private @since 0.1.0

Public Class Methods

new() click to toggle source

@return [void]

@api private @since 0.1.0

# File lib/portal/lock.rb, line 10
def initialize
  @lock = Mutex.new
end

Public Instance Methods

thread_safe() { |: synchronize(&block)| ... } click to toggle source

@param block [Block] @return [void]

@api private @since 0.1.0

# File lib/portal/lock.rb, line 19
def thread_safe(&block)
  lock.owned? ? yield : lock.synchronize(&block)
end