mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Shared TT_ENV may need to be marked; fix #3550
This commit is contained in:
@@ -646,7 +646,6 @@ gc_mark_children(mrb_state *mrb, mrb_gc *gc, struct RBasic *obj)
|
||||
struct REnv *e = (struct REnv*)obj;
|
||||
mrb_int i, len;
|
||||
|
||||
if MRB_ENV_STACK_SHARED_P(e) break;
|
||||
len = MRB_ENV_STACK_LEN(e);
|
||||
for (i=0; i<len; i++) {
|
||||
mrb_gc_mark_value(mrb, e->stack[i]);
|
||||
@@ -761,6 +760,7 @@ obj_free(mrb_state *mrb, struct RBasic *obj, int end)
|
||||
case MRB_TT_FIBER:
|
||||
{
|
||||
struct mrb_context *c = ((struct RFiber*)obj)->cxt;
|
||||
|
||||
if (!end && c && c != mrb->root_c) {
|
||||
mrb_callinfo *ci = c->ci;
|
||||
mrb_callinfo *ce = c->cibase;
|
||||
|
||||
Reference in New Issue
Block a user