Add write barrier to protect proc reference from fiber; fix #3719

This commit is contained in:
Yukihiro "Matz" Matsumoto
2017-06-21 17:59:14 +09:00
parent 464d3fc0a3
commit e8a4e4262a
+1
View File
@@ -125,6 +125,7 @@ fiber_init(mrb_state *mrb, mrb_value self)
ci = c->ci;
ci->target_class = p->target_class;
ci->proc = p;
mrb_field_write_barrier(mrb, (struct RBasic*)mrb_obj_ptr(self), (struct RBasic*)p);
ci->pc = p->body.irep->iseq;
ci->nregs = p->body.irep->nregs;
ci[1] = ci[0];