From 0229446a305c83c8179ef5d283465f12f4724427 Mon Sep 17 00:00:00 2001 From: dearblue Date: Sun, 10 Jan 2021 11:01:51 +0900 Subject: Capture the return value of `Fiber.yield` via C; ref #5261 --- mrbgems/mruby-fiber/src/fiber.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mrbgems/mruby-fiber/src/fiber.c b/mrbgems/mruby-fiber/src/fiber.c index 44125598e..5f45bf04f 100644 --- a/mrbgems/mruby-fiber/src/fiber.c +++ b/mrbgems/mruby-fiber/src/fiber.c @@ -225,6 +225,9 @@ fiber_switch(mrb_state *mrb, mrb_value self, mrb_int len, const mrb_value *a, mr } else { value = fiber_result(mrb, a, len); + if (vmexec) { + c->ci->stack[c->ci[1].acc] = value; + } } if (vmexec) { -- cgit v1.2.3