summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Hess <adamhess1991@gmail.com>2023-09-15 08:54:37 -0700
committerPeter Zhu <peter@peterzhu.ca>2023-09-15 13:24:32 -0400
commit4d86d932fdbe91e436a5680ffae2f4db1a23b3be (patch)
treea6fa2f87ca8de7c61fa6a391ff594f195735195b
parenta1dc1a3de9683daf5a543d6f618e17aabfcb8708 (diff)
Free all heap pages at shutdown
previously heap_allocated_pages was decremented from heap_page_free causing only half the heap pages to be freed at shutdown
-rw-r--r--gc.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gc.c b/gc.c
index 662ddc3e0f..aa74345405 100644
--- a/gc.c
+++ b/gc.c
@@ -1868,7 +1868,8 @@ rb_objspace_free(rb_objspace_t *objspace)
}
if (heap_pages_sorted) {
size_t i;
- for (i = 0; i < heap_allocated_pages; ++i) {
+ size_t total_heap_pages = heap_allocated_pages;
+ for (i = 0; i < total_heap_pages; ++i) {
heap_page_free(objspace, heap_pages_sorted[i]);
}
free(heap_pages_sorted);