diff options
| author | Yukihiro Matz Matsumoto <[email protected]> | 2013-03-11 23:57:30 +0900 |
|---|---|---|
| committer | Yukihiro Matz Matsumoto <[email protected]> | 2013-03-11 23:57:30 +0900 |
| commit | 577a88161e49698de3a31b31e53ad504d1d19067 (patch) | |
| tree | f38993d695115fb24e3d3861b912227d549bfeab /src | |
| parent | 34fe9d0156a65c8b19ee4671c29133c80a94bdc5 (diff) | |
| download | mruby-577a88161e49698de3a31b31e53ad504d1d19067.tar.gz mruby-577a88161e49698de3a31b31e53ad504d1d19067.zip | |
restore arena after mrb_define_method()
Diffstat (limited to 'src')
| -rw-r--r-- | src/class.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/src/class.c b/src/class.c index a3defc2ae..0ba702919 100644 --- a/src/class.c +++ b/src/class.c @@ -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 |
