class RemoteService::Util::Lock
Public Class Methods
new(timeout=0)
click to toggle source
# File lib/remote_service/util/lock.rb, line 6 def initialize(timeout=0) @mutex = Mutex.new @condition = ConditionVariable.new @timeout = timeout end
Public Instance Methods
unlock(*return_value)
click to toggle source
# File lib/remote_service/util/lock.rb, line 12 def unlock(*return_value) @return_value = *return_value @mutex.synchronize{ @condition.signal } end
wait()
click to toggle source
# File lib/remote_service/util/lock.rb, line 17 def wait Timeout.timeout(@timeout) do @mutex.synchronize{ @condition.wait(@mutex) } @return_value end end