diff options
| author | take_cheeze <[email protected]> | 2014-04-21 22:13:39 +0900 |
|---|---|---|
| committer | take_cheeze <[email protected]> | 2014-04-21 22:13:39 +0900 |
| commit | 1d6b8ba524ed9adf5603f0a2bf3e01160f342ffa (patch) | |
| tree | 509f3417bf93f6ab2e56dfe1e2cbf09da0f1cc37 | |
| parent | db440b82b009bbf7d8c97e6dbee0a1b880a5994b (diff) | |
| download | mruby-1d6b8ba524ed9adf5603f0a2bf3e01160f342ffa.tar.gz mruby-1d6b8ba524ed9adf5603f0a2bf3e01160f342ffa.zip | |
Add document to Fiber#transfer .
| -rw-r--r-- | mrbgems/mruby-fiber/src/fiber.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/mrbgems/mruby-fiber/src/fiber.c b/mrbgems/mruby-fiber/src/fiber.c index cf0661fae..2ad74019f 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) { |
