mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Merge pull request #770 from masuidrive/mrbgem_finalizer
Added finalizer of mrbgems
This commit is contained in:
@@ -28,6 +28,7 @@ void mrb_init_time(mrb_state*);
|
||||
void mrb_init_math(mrb_state*);
|
||||
void mrb_init_mrblib(mrb_state*);
|
||||
void mrb_init_mrbgems(mrb_state*);
|
||||
void mrb_final_mrbgems(mrb_state*);
|
||||
|
||||
#define DONE mrb_gc_arena_restore(mrb, 0);
|
||||
void
|
||||
@@ -70,3 +71,11 @@ mrb_init_core(mrb_state *mrb)
|
||||
mrb_init_mrbgems(mrb); DONE;
|
||||
#endif
|
||||
}
|
||||
|
||||
void
|
||||
mrb_final_core(mrb_state *mrb)
|
||||
{
|
||||
#ifndef DISABLE_GEMS
|
||||
mrb_final_mrbgems(mrb); DONE;
|
||||
#endif
|
||||
}
|
||||
@@ -12,6 +12,7 @@
|
||||
void mrb_init_heap(mrb_state*);
|
||||
void mrb_init_core(mrb_state*);
|
||||
void mrb_init_ext(mrb_state*);
|
||||
void mrb_final_core(mrb_state*);
|
||||
|
||||
mrb_state*
|
||||
mrb_open_allocf(mrb_allocf f, void *ud)
|
||||
@@ -88,6 +89,8 @@ mrb_close(mrb_state *mrb)
|
||||
{
|
||||
int i;
|
||||
|
||||
mrb_final_core(mrb);
|
||||
|
||||
/* free */
|
||||
mrb_gc_free_gv(mrb);
|
||||
mrb_free(mrb, mrb->stbase);
|
||||
|
||||
Reference in New Issue
Block a user