class Concurrent::Promises::AbstractEventFuture
def wait_until_resolved(timeout)
-
(Boolean)
-
def wait_until_resolved(timeout) return true if resolved? touch @Lock.synchronize do @Waiters.increment begin if timeout start = Concurrent.monotonic_time until resolved? break if @Condition.wait(@Lock, timeout) == nil # nil means timeout timeout -= (Concurrent.monotonic_time - start) break if timeout <= 0 end else until resolved? @Condition.wait(@Lock, timeout) end end ensure # JRuby may raise ConcurrencyError @Waiters.decrement end end resolved? end