Project

General

Profile

« Previous | Next » 

Revision 829fcdb2

Added by tmm1 (Aman Karmani) about 9 years ago

gc.c: ensure GC state is consistent during VM shutdown

  • gc.c (rb_objspace_free): cause rb_bug if lazy sweep is in progress
    during rb_objspace_free. Adds extra protection for r46340.
    Patch by Vicent Marti. [Bug #10768] [ruby-core:67734]
  • gc.c (rb_objspace_call_finalizer): Ensure GC is completed after
    finalizers have run. We already call gc_rest() before invoking
    finalizers, but finalizer can allocate new objects and start new GC
    cycle, so we call gc_rest() again after finalizers are complete.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@49474 b2dd03c8-39d4-4d8f-98ff-823fe69b080e