Parent

Class/Module Index [+]

Quicksearch

PhusionPassenger::Utils::Lock

Public Class Methods

new(mutex) click to toggle source
# File lib/phusion_passenger/utils/lock.rb, line 28
def initialize(mutex)
  @mutex = mutex
  @locked = false
end

Public Instance Methods

lock() click to toggle source
# File lib/phusion_passenger/utils/lock.rb, line 48
def lock
  raise if @locked
  @mutex.lock
  @locked = true
end
reset(mutex, lock_now = true) click to toggle source
# File lib/phusion_passenger/utils/lock.rb, line 33
def reset(mutex, lock_now = true)
  unlock if @locked
  @mutex = mutex
  lock if lock_now
end
synchronize() click to toggle source
# File lib/phusion_passenger/utils/lock.rb, line 39
def synchronize
  lock if !@locked
  begin
    yield(self)
  ensure
    unlock if @locked
  end
end
unlock() click to toggle source
# File lib/phusion_passenger/utils/lock.rb, line 54
def unlock
  raise if !@locked
  @mutex.unlock
  @locked = false
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.