class Concurrent::Promises::FlatFuturePromise
def process_on_blocker_resolution(future, index)
def process_on_blocker_resolution(future, index) countdown = super(future, index) if countdown.nonzero? internal_state = future.internal_state unless internal_state.fulfilled? resolve_with internal_state return countdown end value = internal_state.value case value when AbstractEventFuture add_delayed_of value value.add_callback_notify_blocked self, nil countdown else evaluate_to(lambda { raise TypeError, "returned value #{value.inspect} is not a Future" }) end end countdown end