Open
Description
In planning ahead to the near future when TruffleRuby can run C-extensions marked with rb_ext_ractor_safe(true)
in parallel, I've been raising issues in common gems to try to nudge them to make their C-extensions Ractor-safe (most already are), and then submitting PR's to mark them as rb_ext_ractor_safe(true)
. This issue will track the progress of all those issues.
Still need to be reviewed for Ractor-safety
- ripper (TruffleRuby might move to an implementation based on prism so this may not be necessary. But leaving this here until it's addressed one way or the other)
Gems that will need some work before we can set rb_ext_ractor_safe(true)
- [feature request] Make C-extension threadsafe/Ractor-safe sparklemotion/nokogiri#3283 Possibly some changes needed to conditionally use threadsafe features of libxml if it's using a new enough version. Testing with
--cexts-lock=false
doesn't have any issues on my app personally though, so a promising sign at least
Reviewed for Ractor-safety, waiting for PR
none currently
Reviewed for Ractor-safety, PR submitted
none currently
PR merged! 🎉
- Add test for RbConfig Ractor safety ruby/ruby#11762 (rbconfig-sizeof)
- Mark as ractor-safe bcrypt-ruby/bcrypt-ruby#280
- Mark as ractor-safe trilogy-libraries/trilogy#200
- Mark as ractor-safe puma/puma#3486
- Mark as ractor-safe socketry/nio4r#320
- Mark as ractor-safe ruby/rbs#2041
No interest shown from maintainers, and not very important anyway
- Make C-extension Ractor-safe ruby/syslog#10
- Make C-extension Ractor-safe brianmario/mysql2#1374 (we already have trilogy, TruffleRuby users can always migrate to that)