summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Zhu <peter@peterzhu.ca>2026-01-15 21:22:54 -0500
committergit <svn-admin@ruby-lang.org>2026-01-18 21:34:57 +0000
commit64c142770a2df0eba3245e843278ee2b59e4e957 (patch)
tree67ad324fb704ffa2baa8ec04241ef97dfdb32fc9
parentb7e9e66b593b927c8fa830696e2943b390c1e569 (diff)
[ruby/mmtk] Fix assertion in rb_gc_impl_ractor_cache_free for RUBY_FREE_AT_EXIT
https://github.com/ruby/mmtk/commit/e2a89d5a22
-rw-r--r--gc/mmtk/mmtk.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/gc/mmtk/mmtk.c b/gc/mmtk/mmtk.c
index b850cb6128..b1a836a8c5 100644
--- a/gc/mmtk/mmtk.c
+++ b/gc/mmtk/mmtk.c
@@ -603,7 +603,13 @@ rb_gc_impl_ractor_cache_free(void *objspace_ptr, void *cache_ptr)
ccan_list_del(&cache->list_node);
- MMTK_ASSERT(objspace->live_ractor_cache_count > 1);
+ if (ruby_free_at_exit_p()) {
+ MMTK_ASSERT(objspace->live_ractor_cache_count > 0);
+ }
+ else {
+ MMTK_ASSERT(objspace->live_ractor_cache_count > 1);
+ }
+
objspace->live_ractor_cache_count--;
mmtk_destroy_mutator(cache->mutator);