From 04d291a490517eb32ea02df636fc8f1f1ed57873 Mon Sep 17 00:00:00 2001 From: Samuel Williams Date: Wed, 12 Oct 2022 15:56:35 +1300 Subject: [PATCH] Simplify implementation of scheduler `io_read` and `io_write`. (#6527) --- test/fiber/scheduler.rb | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/test/fiber/scheduler.rb b/test/fiber/scheduler.rb index ceed606338..322564fe6d 100644 --- a/test/fiber/scheduler.rb +++ b/test/fiber/scheduler.rb @@ -269,15 +269,14 @@ class IOBufferScheduler < Scheduler total = 0 io.nonblock = true - while length >= 0 + while true maximum_size = buffer.size - offset - result = blocking{buffer.read(io, maximum_size, offset)} if result > 0 total += result offset += result - break if result >= length + break if total >= length elsif result == 0 break elsif result == EAGAIN @@ -298,15 +297,14 @@ class IOBufferScheduler < Scheduler total = 0 io.nonblock = true - while length >= 0 + while true maximum_size = buffer.size - offset - result = blocking{buffer.write(io, maximum_size, offset)} if result > 0 total += result offset += result - break if result >= length + break if total >= length elsif result == 0 break elsif result == EAGAIN