Merge pull request #770 from masuidrive/mrbgem_finalizer

Added finalizer of mrbgems
This commit is contained in:
Yukihiro "Matz" Matsumoto
2013-01-23 05:11:54 -08:00
8 changed files with 56 additions and 0 deletions
+9
View File
@@ -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
}
+3
View File
@@ -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);