Skip to content

Update fiber scheduler to support Ruby 4.1 - #397

Open
rsamoilov wants to merge 3 commits into
mainfrom
ruby-4-1-fiber-scheduler
Open

Update fiber scheduler to support Ruby 4.1#397
rsamoilov wants to merge 3 commits into
mainfrom
ruby-4-1-fiber-scheduler

Conversation

@rsamoilov

Copy link
Copy Markdown
Member
  • io_write - V4 uses the new synchronous Iodine::Scheduler.write; V3 preserves the existing behaviour by using Iodine::Scheduler.write_async (it was renamed from write)
  • io_read - both V3 and V4 use Iodine::Scheduler.read that has slightly different behaviour based on the scheduler version; to support the new single-operation semantics, the EINTR check was removed from Iodine::Scheduler.read and added into V3's io_read
  • both io_read and io_write now pass buffer to Iodine - Iodine operates on the buffer directly to avoid unnecessary string allocations with IO::Buffer#get_string and IO::Buffer#set_string

closes #390

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Adapt Rage's buffered I/O scheduler hooks to Ruby 4.1

1 participant