blob: c109ec62476cec76fcd13af89ff191fd355781be (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
ready = false
t = Thread.new do
f = Fiber.new do
begin
Fiber.yield
ensure
STDERR.puts "suspended fiber ensure"
end
end
f.resume
begin
ready = true
sleep
ensure
STDERR.puts "current fiber ensure"
end
end
Thread.pass until ready && t.stop?
# let the program end, it's the same as #exit or an exception for this behavior
|