diff --git a/ChangeLog b/ChangeLog index 054e47da34..ed8a0df3e3 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Mon Aug 12 23:07:21 2013 Masaya Tarui + + * gc.c (gc_marks_test): inhibit gc for st's operation. + Mon Aug 12 15:59:50 2013 Nobuyoshi Nakada * parse.y (parser_whole_match_p): treat CR in middle of a line as a diff --git a/gc.c b/gc.c index 4ba997b207..6cb2594a2c 100644 --- a/gc.c +++ b/gc.c @@ -3550,6 +3550,8 @@ gc_marks_test(rb_objspace_t *objspace) * exported_bitmap: after minor marking */ + /* inhibit gc for st's operation */ + dont_gc = 1; if(!monitored_object_table) monitored_object_table = st_init_numtable(); @@ -3608,6 +3610,7 @@ gc_marks_test(rb_objspace_t *objspace) gc_free_exported_bitmaps(objspace, exported_bitmaps); objspace->rgengc.have_saved_bitmaps = FALSE; } + dont_gc = 0; } #endif /* RGENGC_CHECK_MODE >= 2 */