aboutsummaryrefslogtreecommitdiffstats
path: root/io.c
diff options
context:
space:
mode:
authorSamuel Williams <samuel.williams@oriontransfer.co.nz>2022-01-01 20:23:47 +1300
committerGitHub <noreply@github.com>2022-01-01 20:23:47 +1300
commit243320d22fcd0b9b7ee4cc5b1b420dcd63d87f5f (patch)
treec952bc5884675716077096300a6971cabdcf5f0f /io.c
parent5414de4b6e4372af832e338f8eb7a9fe8de17c84 (diff)
downloadruby-243320d22fcd0b9b7ee4cc5b1b420dcd63d87f5f.tar.gz
Fix incorrect minimum read length. (#5353)
Diffstat (limited to 'io.c')
-rw-r--r--io.c8
1 files changed, 2 insertions, 6 deletions
diff --git a/io.c b/io.c
index deb5a7950e..3fab54e406 100644
--- a/io.c
+++ b/io.c
@@ -1133,14 +1133,10 @@ rb_read_internal(rb_io_t *fptr, void *buf, size_t count)
{
VALUE scheduler = rb_fiber_scheduler_current();
if (scheduler != Qnil) {
- VALUE result = rb_fiber_scheduler_io_read_memory(scheduler, fptr->self, buf, count, count);
+ VALUE result = rb_fiber_scheduler_io_read_memory(scheduler, fptr->self, buf, count, 0);
if (result != Qundef) {
- ssize_t length = rb_fiber_scheduler_io_result_apply(result);
-
- if (length < 0) rb_sys_fail_path(fptr->pathv);
-
- return length;
+ return rb_fiber_scheduler_io_result_apply(result);
}
}