diff --git a/gc.c b/gc.c index 7c652aaa1d..a12a3fa70f 100644 --- a/gc.c +++ b/gc.c @@ -8260,7 +8260,9 @@ gc_compact(rb_objspace_t *objspace, int use_toward_empty, int use_double_pages, /* pin objects referenced by maybe pointers */ rb_gc(); /* compact */ + during_gc = TRUE; gc_compact_after_gc(objspace, use_toward_empty, use_double_pages, TRUE); + during_gc = FALSE; } objspace->flags.during_compacting = FALSE; return gc_compact_stats(objspace);