Feature #10341 » 0001-Remove-unused-prev_fiber-next_fiber-fields.patch
cont.c | ||
---|---|---|
*/
|
||
int transfered;
|
||
struct rb_fiber_struct *prev_fiber;
|
||
struct rb_fiber_struct *next_fiber;
|
||
#if FIBER_USE_NATIVE
|
||
#ifdef _WIN32
|
||
void *fib_handle;
|
||
... | ... | |
}
|
||
static void
|
||
fiber_link_join(rb_fiber_t *fib)
|
||
{
|
||
VALUE current_fibval = rb_fiber_current();
|
||
rb_fiber_t *current_fib;
|
||
GetFiberPtr(current_fibval, current_fib);
|
||
/* join fiber link */
|
||
fib->next_fiber = current_fib->next_fiber;
|
||
fib->prev_fiber = current_fib;
|
||
current_fib->next_fiber->prev_fiber = fib;
|
||
current_fib->next_fiber = fib;
|
||
}
|
||
static void
|
||
fiber_link_remove(rb_fiber_t *fib)
|
||
{
|
||
fib->prev_fiber->next_fiber = fib->next_fiber;
|
||
fib->next_fiber->prev_fiber = fib->prev_fiber;
|
||
}
|
||
static void
|
||
fiber_free(void *ptr)
|
||
{
|
||
RUBY_FREE_ENTER("fiber");
|
||
... | ... | |
fib->cont.saved_thread.local_storage) {
|
||
st_free_table(fib->cont.saved_thread.local_storage);
|
||
}
|
||
fiber_link_remove(fib);
|
||
cont_free(&fib->cont);
|
||
}
|
||
... | ... | |
th->stack = 0;
|
||
th->stack_size = 0;
|
||
fiber_link_join(fib);
|
||
th->stack_size = th->vm->default_params.fiber_vm_stack_size / sizeof(VALUE);
|
||
th->stack = ALLOC_N(VALUE, th->stack_size);
|
||
... | ... | |
#endif
|
||
#endif
|
||
fib->status = RUNNING;
|
||
fib->prev_fiber = fib->next_fiber = fib;
|
||
return fib;
|
||
}
|