diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/gc.c | 6 |
1 files changed, 3 insertions, 3 deletions
@@ -801,10 +801,10 @@ obj_free(mrb_state *mrb, struct RBasic *obj, int end) struct mrb_context *c = ((struct RFiber*)obj)->cxt; if (c && c != mrb->root_c) { - mrb_callinfo *ci = c->ci; - mrb_callinfo *ce = c->cibase; + if (!end && c->status != MRB_FIBER_TERMINATED) { + mrb_callinfo *ci = c->ci; + mrb_callinfo *ce = c->cibase; - if (!end) { while (ce <= ci) { struct REnv *e = ci->env; if (e && !is_dead(&mrb->gc, e) && |
