diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | gc.c | 4 |
2 files changed, 7 insertions, 2 deletions
@@ -1,3 +1,8 @@ +Fri Jul 22 06:12:51 2016 Nobuyoshi Nakada <[email protected]> + + * gc.c (gc_start_internal, rb_gc_start): set finalizing flag + whenever calling deferred finalizers not to recurse. + Thu Jul 21 22:26:40 2016 SHIBATA Hiroshi <[email protected]> * missing/strl{cat,cpy}.c: Update latest upstream files. @@ -6580,7 +6580,7 @@ gc_start_internal(int argc, VALUE *argv, VALUE self) } garbage_collect(objspace, full_mark, immediate_mark, immediate_sweep, GPR_FLAG_METHOD); - if (!finalizing) finalize_deferred(objspace); + gc_finalize_deferred(objspace); return Qnil; } @@ -6597,7 +6597,7 @@ rb_gc(void) { rb_objspace_t *objspace = &rb_objspace; garbage_collect(objspace, TRUE, TRUE, TRUE, GPR_FLAG_CAPI); - if (!finalizing) finalize_deferred(objspace); + gc_finalize_deferred(objspace); } int |