class Async::Waiter
def async(parent: (@parent or Task.current), &block)
Execute a child task and add it to the waiter.
def async(parent: (@parent or Task.current), &block) parent.async do |task| yield(task) ensure @done << task @finished.signal end end