class Async::Condition

def initialize

def initialize
	@waiting = []
end

def signal(value)

def signal(value)
	while task = @waiting.pop
		task.resume(value)
	end
end

def wait

def wait
	@waiting << Fiber.current
	
	Task.yield
end