summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2015-12-31 21:25:53 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2015-12-31 21:25:53 +0900
commit38b9c2d3085e6d300ec36b5a38e31f8b4927c4fc (patch)
tree2b96219da6da61dd094e2000574477ced4b1d238
parent31b8469bffc4c30429a5abf865edde251bed7241 (diff)
downloadmruby-38b9c2d3085e6d300ec36b5a38e31f8b4927c4fc.tar.gz
mruby-38b9c2d3085e6d300ec36b5a38e31f8b4927c4fc.zip
mruby-fiber: add Fiber.yield description; close #3066
Fiber.yield cannot be called from #initialize which is called by mrb_funcall(). It is mruby limitation.
-rw-r--r--mrbgems/mruby-fiber/src/fiber.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/mrbgems/mruby-fiber/src/fiber.c b/mrbgems/mruby-fiber/src/fiber.c
index c140b6eac..8f0f90c4a 100644
--- a/mrbgems/mruby-fiber/src/fiber.c
+++ b/mrbgems/mruby-fiber/src/fiber.c
@@ -332,7 +332,9 @@ mrb_fiber_yield(mrb_state *mrb, mrb_int len, const mrb_value *a)
* along any arguments that were passed to it. The fiber will resume
* processing at this point when <code>resume</code> is called next.
* Any arguments passed to the next <code>resume</code> will be the
- * value that this <code>Fiber.yield</code> expression evaluates to.
+ *
+ * mruby limitation: Fiber resume/yield cannot cross C function boundary.
+ * thus you cannot yield from #initialize which is called by mrb_funcall().
*/
static mrb_value
fiber_yield(mrb_state *mrb, mrb_value self)