Commit 0229446a authored by dearblue's avatar dearblue

Capture the return value of `Fiber.yield` via C; ref #5261

parent c7d96dbf
...@@ -225,6 +225,9 @@ fiber_switch(mrb_state *mrb, mrb_value self, mrb_int len, const mrb_value *a, mr ...@@ -225,6 +225,9 @@ fiber_switch(mrb_state *mrb, mrb_value self, mrb_int len, const mrb_value *a, mr
} }
else { else {
value = fiber_result(mrb, a, len); value = fiber_result(mrb, a, len);
if (vmexec) {
c->ci->stack[c->ci[1].acc] = value;
}
} }
if (vmexec) { if (vmexec) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment