diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2021-01-14 23:47:25 +0900 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-01-14 23:47:25 +0900 |
| commit | 28d5dabacd61fa91d7bf5a99628858cf95fdf924 (patch) | |
| tree | b69cfca0c15133a12c3dab0efad7d065e1054ec3 /mrbgems | |
| parent | a639a39883f95365e8f336cd4770c06f3d9aa87a (diff) | |
| parent | 0229446a305c83c8179ef5d283465f12f4724427 (diff) | |
| download | mruby-28d5dabacd61fa91d7bf5a99628858cf95fdf924.tar.gz mruby-28d5dabacd61fa91d7bf5a99628858cf95fdf924.zip | |
Merge pull request #5273 from dearblue/fiber
Capture the return value of `Fiber.yield` via C; ref #5261
Diffstat (limited to 'mrbgems')
| -rw-r--r-- | mrbgems/mruby-fiber/src/fiber.c | 3 |
1 files changed, 3 insertions, 0 deletions
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) { |
