summaryrefslogtreecommitdiff
path: root/ractor.c
diff options
context:
space:
mode:
authorJean Boussier <jean.boussier@gmail.com>2026-01-31 08:53:48 +0100
committerJean Boussier <jean.boussier@gmail.com>2026-01-31 10:35:48 +0100
commitbd6fa7f5cca426901bc9162724966339440bc6cb (patch)
tree57363875f68945549cb9bc47b7e63950b1d5c6b0 /ractor.c
parentdb52e98520349e2bfcd471a0c2f96d696a4f7498 (diff)
ruby_xfree: reject memory allocated by ruby_mimalloc
Diffstat (limited to 'ractor.c')
-rw-r--r--ractor.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/ractor.c b/ractor.c
index 2dcbbd10a0..da1db8d803 100644
--- a/ractor.c
+++ b/ractor.c
@@ -298,7 +298,12 @@ ractor_free(void *ptr)
}
ractor_sync_free(r);
- ruby_xfree(r);
+ if (r->main_ractor) {
+ ruby_mimfree(r);
+ }
+ else {
+ ruby_xfree(r);
+ }
}
static size_t
@@ -478,6 +483,7 @@ rb_ractor_main_alloc(void)
r->pub.self = Qnil;
r->newobj_cache = rb_gc_ractor_cache_alloc(r);
r->next_ec_serial = 1;
+ r->main_ractor = true;
ruby_single_main_ractor = r;
return r;