summaryrefslogtreecommitdiffhomepage
path: root/mrbgems
diff options
context:
space:
mode:
authorYukihiro "Matz" Matsumoto <[email protected]>2014-04-21 22:43:52 +0900
committerYukihiro "Matz" Matsumoto <[email protected]>2014-04-21 22:43:52 +0900
commit56e520616e5a5516284cb2992261d1595e8ecdb0 (patch)
tree0b7a5f1dabc1453fa11bba3ea6a4856ce87dcdb4 /mrbgems
parentdb440b82b009bbf7d8c97e6dbee0a1b880a5994b (diff)
parenta457fef213b8a000639fc086695bac301108b523 (diff)
downloadmruby-56e520616e5a5516284cb2992261d1595e8ecdb0.tar.gz
mruby-56e520616e5a5516284cb2992261d1595e8ecdb0.zip
Merge pull request #2102 from take-cheeze/fiber_doc
Improve mruby-fiber document.
Diffstat (limited to 'mrbgems')
-rw-r--r--mrbgems/mruby-fiber/src/fiber.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/mrbgems/mruby-fiber/src/fiber.c b/mrbgems/mruby-fiber/src/fiber.c
index cf0661fae..12924c15c 100644
--- a/mrbgems/mruby-fiber/src/fiber.c
+++ b/mrbgems/mruby-fiber/src/fiber.c
@@ -234,6 +234,18 @@ fiber_eq(mrb_state *mrb, mrb_value self)
return mrb_bool_value(fiber_ptr(self) == fiber_ptr(other));
}
+/*
+ * call-seq:
+ * fiber.transfer(args, ...) -> obj
+ *
+ * Transfers control to reciever fiber of the method call.
+ * Unlike <code>resume</code> the reciever wouldn't be pushed to call
+ * stack of fibers. Instead it will switch to the call stack of
+ * transferring fiber.
+ * When resuming a fiber that was transferred to another fiber it would
+ * cause double resume error. Though when the fiber is re-transferred
+ * and <code>Fiber.yield</code> is called, the fiber would be resumable.
+ */
static mrb_value
fiber_transfer(mrb_state *mrb, mrb_value self)
{
@@ -305,8 +317,7 @@ fiber_yield(mrb_state *mrb, mrb_value self)
* call-seq:
* Fiber.current() -> fiber
*
- * Returns the current fiber. You need to <code>require 'fiber'</code>
- * before using this method. If you are not running in the context of
+ * Returns the current fiber. If you are not running in the context of
* a fiber this method will return the root fiber.
*/
static mrb_value