From b69c41a7e36446c05aecbc9af5c597c1562d6d19 Mon Sep 17 00:00:00 2001 From: Samuel Williams Date: Wed, 12 Oct 2022 16:09:24 +1300 Subject: [PATCH 1/2] Updated io-event gem interfaces. --- lib/async/scheduler.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/lib/async/scheduler.rb b/lib/async/scheduler.rb index c7ac4f6e..30c4005a 100644 --- a/lib/async/scheduler.rb +++ b/lib/async/scheduler.rb @@ -160,13 +160,13 @@ def io_wait(io, events, timeout = nil) timer&.cancel end - if IO.const_defined?(:Buffer) - def io_read(io, buffer, length) - @selector.io_read(Fiber.current, io, buffer, length) + if IO::Event::Support.buffer? + def io_read(io, buffer, length, offset) + @selector.io_read(Fiber.current, io, buffer, length, offset) end - def io_write(io, buffer, length) - @selector.io_write(Fiber.current, io, buffer, length) + def io_write(io, buffer, length, offset) + @selector.io_write(Fiber.current, io, buffer, length, offset) end end From c24bd3d696eade09b85be24873cc9d91ec27e681 Mon Sep 17 00:00:00 2001 From: Samuel Williams Date: Thu, 13 Oct 2022 12:14:29 +1300 Subject: [PATCH 2/2] Ensure all sockets are closed. --- spec/async/scheduler/io_spec.rb | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/spec/async/scheduler/io_spec.rb b/spec/async/scheduler/io_spec.rb index a4616928..80db7d03 100644 --- a/spec/async/scheduler/io_spec.rb +++ b/spec/async/scheduler/io_spec.rb @@ -34,6 +34,9 @@ s1.putc('a') child.wait + ensure + s1.close + s2.close end it "can perform blocking read" do @@ -53,6 +56,8 @@ s1.close child.wait + ensure + s2.close end end end