diff options
Diffstat (limited to 'cont.c')
-rw-r--r-- | cont.c | 7 |
1 files changed, 5 insertions, 2 deletions
@@ -173,11 +173,14 @@ cont_restore_1(rb_context_t *cont) } else { /* continuation */ + VALUE fval; + th->fiber = sth->fiber; + fval = th->fiber ? th->fiber : th->root_fiber; - if (th->fiber) { + if (fval) { rb_context_t *fcont; - GetContPtr(th->fiber, fcont); + GetContPtr(fval, fcont); th->stack_size = fcont->saved_thread.stack_size; th->stack = fcont->saved_thread.stack; } |