From b7954d657fb9a5f99badbf23a9af85a2c91efad6 Mon Sep 17 00:00:00 2001 From: Samuel Williams Date: Fri, 25 Aug 2023 01:26:18 +1200 Subject: [PATCH] Code comments. --- lib/io/event/selector/select.rb | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/io/event/selector/select.rb b/lib/io/event/selector/select.rb index 3452c7c8..d63019a8 100644 --- a/lib/io/event/selector/select.rb +++ b/lib/io/event/selector/select.rb @@ -280,7 +280,9 @@ def io_write(fiber, io, buffer, length, offset = 0) elsif Support.fiber_scheduler_v1? # Ruby <= 3.1, limited IO::Buffer support. def io_read(fiber, _io, buffer, length, offset = 0) + # We need to avoid any internal buffering, so we use a duplicated IO object: io = IO.for_fd(_io.fileno, autoclose: false) + total = 0 maximum_size = buffer.size - offset @@ -321,7 +323,9 @@ def io_read(fiber, _io, buffer, length, offset = 0) end def io_write(fiber, _io, buffer, length, offset = 0) + # We need to avoid any internal buffering, so we use a duplicated IO object: io = IO.for_fd(_io.fileno, autoclose: false) + total = 0 maximum_size = buffer.size - offset