class RSpec::Core::ReentrantMutex
@private
dne - ruby-doc.org/core-1.9.0/Mutex.html<br>exists - ruby-doc.org/core-1.9.1/Mutex.html<br>Depends on Mutex, but Mutex is only available as part of core since 1.9.1:
Based on Monitor as of 2.2 - github.com/ruby/ruby/blob/eb7ddaa3a47bf48045d26c72eb0f263a53524ebc/lib/monitor.rb#L9<br><br>while allowing the thread with the lock to reenter that section.
Allows a thread to lock out other threads from a critical section of code,
def enter
def enter @mutex.lock if @owner != Thread.current @owner = Thread.current @count += 1 end
def exit
def exit @count -= 1 return unless @count == 0 @owner = nil @mutex.unlock end
def initialize
def initialize @owner = nil @count = 0 @mutex = Mutex.new end
def synchronize
def synchronize enter yield ensure exit end