restore arena after mrb_define_method()

This commit is contained in:
Yukihiro Matz Matsumoto
2013-03-11 23:57:30 +09:00
parent 34fe9d0156
commit 577a88161e
+2
View File
@@ -293,10 +293,12 @@ void
mrb_define_method_id(mrb_state *mrb, struct RClass *c, mrb_sym mid, mrb_func_t func, int aspec)
{
struct RProc *p;
int ai = mrb_gc_arena_save(mrb);
p = mrb_proc_new_cfunc(mrb, func);
p->target_class = c;
mrb_define_method_raw(mrb, c, mid, p);
mrb_gc_arena_restore(mrb, ai);
}
void