summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKoichi Sasada <ko1@atdot.net>2025-10-27 18:14:28 +0900
committerKoichi Sasada <ko1@atdot.net>2025-10-30 18:04:08 +0900
commitb9188901c07649c3af3a5f925ec0dead444a4134 (patch)
tree7367a32848dda2c3ddcfaf9b82897c2380ba7e07
parent09e9247edc35b910bf8ca49c05151709929b79b4 (diff)
allow Ractor::Port shareable
-rw-r--r--ractor_sync.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/ractor_sync.c b/ractor_sync.c
index c208ee6b2d..57ae13e88d 100644
--- a/ractor_sync.c
+++ b/ractor_sync.c
@@ -49,7 +49,7 @@ static const rb_data_type_t ractor_port_data_type = {
ractor_port_memsize,
NULL, // update
},
- 0, 0, RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED,
+ 0, 0, RUBY_TYPED_FREE_IMMEDIATELY | RUBY_TYPED_WB_PROTECTED | RUBY_TYPED_FROZEN_SHAREABLE,
};
static st_data_t
@@ -72,6 +72,7 @@ ractor_port_alloc(VALUE klass)
{
struct ractor_port *rp;
VALUE rpv = TypedData_Make_Struct(klass, struct ractor_port, &ractor_port_data_type, rp);
+ rb_obj_freeze(rpv);
return rpv;
}