Actions
Bug #22460
closed
Actions
Added by kddnewton (Kevin Newton) 1 day ago. Updated about 4 hours ago.
Applied in changeset git|0d83a93784090400ce38f0852ae11bc103765810.
Unshare arrays only when they become shareable
obj_traverse_i called rb_ary_cancel_sharing on every array it visited,
before the traversal knew whether the object graph was shareable.
So Ractor.shareable? modified frozen arrays even when it returned false.
This commit moves rb_ary_cancel_sharing into mark_shareable, which
runs only after the traversal succeeds.
[Bug #22460]