Fix CLI tool not exiting

This commit is contained in:
Alex Ling
2020-08-05 09:48:31 +00:00
parent 99a77966ad
commit c07f421322
2 changed files with 19 additions and 13 deletions
+8 -3
View File
@@ -6,6 +6,7 @@
class MainFiber
@@channel = Channel(-> Nil).new
@@done = Channel(Bool).new
@@main_fiber = Fiber.current
def self.start_and_block
loop do
@@ -21,9 +22,13 @@ class MainFiber
end
def self.run(&block : -> Nil)
@@channel.send block
until @@done.receive
Fiber.yield
if @@main_fiber == Fiber.current
block.call
else
@@channel.send block
until @@done.receive
Fiber.yield
end
end
end
end