Skip to content

[pull] master from ruby:master#1178

Merged
pull[bot] merged 4 commits into
turkdevops:masterfrom
ruby:master
Jul 3, 2026
Merged

[pull] master from ruby:master#1178
pull[bot] merged 4 commits into
turkdevops:masterfrom
ruby:master

Conversation

@pull

@pull pull Bot commented Jul 3, 2026

Copy link
Copy Markdown

See Commits and Changes for more details.


Created by pull[bot] (v2.0.0-alpha.4)

Can you help keep this open source service alive? 💖 Please sponsor : )

ko1 and others added 4 commits July 3, 2026 23:50
The concurrent set, managed id-table dups and symbol id-entry buckets are
reachable from every Ractor via VM-global state (the frozen-string/symbol
tables, shape-tree edge tables, the symbol table), so flag them shareable --
as enc_list_update already does for the encoding list.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
concurrent_set.c now includes ruby/ractor.h for RB_OBJ_SET_SHAREABLE.
(id_table.c is #included into symbol.c, which already depends on ruby/ractor.h,
so no separate entry is needed.)

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
rb_postponed_job_preregister already stores table[i].func/data with atomic
CAS/EXCHANGE, but rb_postponed_job_flush read them non-atomically, which
races when a job is (pre)registered on another thread while a job fires.
Load them atomically.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@pull pull Bot locked and limited conversation to collaborators Jul 3, 2026
@pull pull Bot added the ⤵️ pull label Jul 3, 2026
@pull pull Bot merged commit 9233cc3 into turkdevops:master Jul 3, 2026
1 of 3 checks passed
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant