path: root/enumerator.c
diff options
authorJeremy Evans <>2019-10-26 18:41:35 -0700
committerJeremy Evans <>2019-10-26 18:41:35 -0700
commitaba23d83f2697247488a2e770fcb9ce5abfcd16c (patch)
treed10ac64c2c0290539d8e73bc62126f263d3c09aa /enumerator.c
parent4fe89e08217446de3b540088a5ef5af37d17b3c9 (diff)
Fix documentation for Fiber#transfer [ci skip]
Fiber#transfer prevents calling Fiber#resume on the receiver of the transfer method, not the fiber calling transfer. Transfering back to a fiber does not allow later calling resume on the fiber. Once transfer has been called on a fiber, you can never call resume on the fiber. Calling resume on a transferred fiber is not a double resume error, it is a different FiberError (cannot resume transferred Fiber). For details on the differences between transferred fibers and regular fibers, see Sasada-san's RubyKaigi 2017 presentation (in short, Fiber#transfer is for coroutine, Fiber#resume is for semi-coroutine).
Diffstat (limited to 'enumerator.c')
0 files changed, 0 insertions, 0 deletions