mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
* gc.c: don't call after_gc_sweep() after when garbage_collect()
was called, because rb_sweep_method_entry() free live unlinked method entries. [ruby-core:31169] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@28689 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
a52dd6cc5c
commit
81cc3b2655
2 changed files with 15 additions and 8 deletions
|
@ -1,3 +1,9 @@
|
|||
Tue Jul 20 14:21:38 2010 Narihiro Nakamura <authorNari@gmail.com>
|
||||
|
||||
* gc.c: don't call after_gc_sweep() after when garbage_collect()
|
||||
was called, because rb_sweep_method_entry() free live unlinked
|
||||
method entries. [ruby-core:31169]
|
||||
|
||||
Tue Jul 20 12:42:06 2010 URABE Shyouhei <shyouhei@ruby-lang.org>
|
||||
|
||||
* ext/socket/raddrinfo.c (rb_getaddrinfo): according to my
|
||||
|
|
17
gc.c
17
gc.c
|
@ -2055,16 +2055,17 @@ gc_lazy_sweep(rb_objspace_t *objspace)
|
|||
GC_PROF_TIMER_START;
|
||||
GC_PROF_SWEEP_TIMER_START;
|
||||
|
||||
res = lazy_sweep(objspace);
|
||||
if (res) {
|
||||
GC_PROF_SWEEP_TIMER_STOP;
|
||||
GC_PROF_SET_MALLOC_INFO;
|
||||
GC_PROF_TIMER_STOP(Qfalse);
|
||||
return res;
|
||||
if (objspace->heap.sweep_slots) {
|
||||
res = lazy_sweep(objspace);
|
||||
if (res) {
|
||||
GC_PROF_SWEEP_TIMER_STOP;
|
||||
GC_PROF_SET_MALLOC_INFO;
|
||||
GC_PROF_TIMER_STOP(Qfalse);
|
||||
return res;
|
||||
}
|
||||
after_gc_sweep(objspace);
|
||||
}
|
||||
|
||||
after_gc_sweep(objspace);
|
||||
|
||||
gc_marks(objspace);
|
||||
|
||||
before_gc_sweep(objspace);
|
||||
|
|
Loading…
Add table
Reference in a new issue