class Async::Task
def finish!
def finish! # Don't hold references to the fiber or block after the task has finished: @fiber = nil @block = nil # If some how we went directly from initialized to finished. # Attempt to remove this node from the task tree. consume # If this task was being used as a future, signal completion here: if @finished @finished.signal(self) @finished = nil end end