# frozen_string_literal: true require 'bundler/setup' require 'polyphony' async def my_sleep(t) puts "start: #{t}" sleep(t) puts "done: #{t}" end puts "#{Time.now} going to sleep..." result = supervise do |s| fiber = Fiber.current coproc do sleep(0.5) puts "stopping supervisor..." s.stop! end s.coproc my_sleep(1) s.coproc my_sleep(2) s.coproc my_sleep(3) end puts "#{Time.now} woke up with #{result.inspect}"