diff options
author | Luke Gruber <[email protected]> | 2024-02-16 14:08:39 -0500 |
---|---|---|
committer | Koichi Sasada <[email protected]> | 2024-12-24 11:38:44 +0900 |
commit | 38af38edcbceb9d17aaf84420008fe839f77e42f (patch) | |
tree | 07899ad0a45f0e06a68d6e3f87472007183a3d8f /ractor.c | |
parent | 1eb5c03fda7e9616a1461f48f4bd8b8739de122d (diff) |
Fix ractor move of unshareable frozen objects
These objects didn't retain their frozen status after the move
Bug [#19408]
Notes
Notes:
Merged: https://github.com/ruby/ruby/pull/9996
Diffstat (limited to 'ractor.c')
-rw-r--r-- | ractor.c | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -3581,6 +3581,10 @@ move_leave(VALUE obj, struct obj_traverse_replace_data *data) rb_replace_generic_ivar(v, obj); } + if (OBJ_FROZEN(obj)) { + OBJ_FREEZE(v); + } + // TODO: generic_ivar ractor_moved_bang(obj); |