예제 #1
0
static void
rb_fiber_terminate(rb_fiber_t *fib)
{
    VALUE value = fib->cont.value;
    fib->status = TERMINATED;
    rb_fiber_transfer(return_fiber(), 1, &value);
}
예제 #2
0
파일: cont.c 프로젝트: genki/ruby
static void
rb_fiber_terminate(rb_context_t *cont)
{
    VALUE value = cont->value;
    cont->alive = Qfalse;
    rb_fiber_transfer(return_fiber(), 1, &value);
}
예제 #3
0
VALUE
rb_fiber_yield(int argc, VALUE *argv)
{
    return rb_fiber_transfer(return_fiber(), argc, argv);
}