class Concurrent::Synchronization::MonitorLockableObject
@!macro internal_implementation_note
@!visibility private
def initialize
def initialize super() @__Lock__ = ::Monitor.new @__Condition__ = @__Lock__.new_cond end
def initialize_copy(other)
def initialize_copy(other) super @__Lock__ = ::Monitor.new @__Condition__ = @__Lock__.new_cond end
def ns_wait(timeout = nil)
def ns_wait(timeout = nil) @__Condition__.wait timeout self end
def synchronize # TODO may be a problem with lock.synchronize { lock.wait }
def synchronize # TODO may be a problem with lock.synchronize { lock.wait } @__Lock__.synchronize { yield } end