From 1d90d0ced96691fb19c136698b341d6705ac6b30 Mon Sep 17 00:00:00 2001 From: ko1 Date: Mon, 30 Sep 2013 02:20:28 +0000 Subject: [PATCH] * gc.c (rb_gc_disable): do rest_sweep() before disable GC. This fix may solve a failure of TestTracepointObj#test_tracks_objspace_events [test/-ext-/tracepoint/test_tracepoint.rb:43]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43092 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 7 +++++++ gc.c | 2 ++ 2 files changed, 9 insertions(+) diff --git a/ChangeLog b/ChangeLog index 176b24f9ad..9d82fd7fb3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +Mon Sep 30 11:18:04 2013 Koichi Sasada + + * gc.c (rb_gc_disable): do rest_sweep() before disable GC. + This fix may solve a failure of + TestTracepointObj#test_tracks_objspace_events + [test/-ext-/tracepoint/test_tracepoint.rb:43]. + Mon Sep 30 10:40:20 2013 Shugo Maeda * vm_method.c (rb_undef): raise a NameError if the original method diff --git a/gc.c b/gc.c index 5e18b9a7dc..634bf3ca54 100644 --- a/gc.c +++ b/gc.c @@ -4598,6 +4598,8 @@ rb_gc_disable(void) rb_objspace_t *objspace = &rb_objspace; int old = dont_gc; + gc_rest_sweep(objspace); + dont_gc = TRUE; return old ? Qtrue : Qfalse; }