diff options
author | Samuel Williams <samuel.williams@oriontransfer.co.nz> | 2022-10-12 12:59:05 +1300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-12 12:59:05 +1300 |
commit | ced1d172804b6dfe39aa31a323ffab80a25223b9 (patch) | |
tree | 6c030bd708a935deb164c9ec69df5f58f9d39df6 /scheduler.c | |
parent | 467992ee35b59577ddb53f1323b19af3f3e3d134 (diff) | |
download | ruby-ced1d172804b6dfe39aa31a323ffab80a25223b9.tar.gz |
Improvements to IO::Buffer implementation and documentation. (#6525)
Diffstat (limited to 'scheduler.c')
-rw-r--r-- | scheduler.c | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/scheduler.c b/scheduler.c index 675a0a6768..785ad06f19 100644 --- a/scheduler.c +++ b/scheduler.c @@ -232,43 +232,43 @@ rb_fiber_scheduler_io_wait_writable(VALUE scheduler, VALUE io) } VALUE -rb_fiber_scheduler_io_read(VALUE scheduler, VALUE io, VALUE buffer, size_t length) +rb_fiber_scheduler_io_read(VALUE scheduler, VALUE io, VALUE buffer, size_t length, size_t offset) { VALUE arguments[] = { - io, buffer, SIZET2NUM(length) + io, buffer, SIZET2NUM(length), SIZET2NUM(offset) }; - return rb_check_funcall(scheduler, id_io_read, 3, arguments); + return rb_check_funcall(scheduler, id_io_read, 4, arguments); } VALUE -rb_fiber_scheduler_io_pread(VALUE scheduler, VALUE io, VALUE buffer, size_t length, rb_off_t offset) +rb_fiber_scheduler_io_pread(VALUE scheduler, VALUE io, rb_off_t from, VALUE buffer, size_t length, size_t offset) { VALUE arguments[] = { - io, buffer, SIZET2NUM(length), OFFT2NUM(offset) + io, buffer, OFFT2NUM(from), SIZET2NUM(length), SIZET2NUM(offset) }; - return rb_check_funcall(scheduler, id_io_pread, 4, arguments); + return rb_check_funcall(scheduler, id_io_pread, 5, arguments); } VALUE -rb_fiber_scheduler_io_write(VALUE scheduler, VALUE io, VALUE buffer, size_t length) +rb_fiber_scheduler_io_write(VALUE scheduler, VALUE io, VALUE buffer, size_t length, size_t offset) { VALUE arguments[] = { - io, buffer, SIZET2NUM(length) + io, buffer, SIZET2NUM(length), SIZET2NUM(offset) }; - return rb_check_funcall(scheduler, id_io_write, 3, arguments); + return rb_check_funcall(scheduler, id_io_write, 4, arguments); } VALUE -rb_fiber_scheduler_io_pwrite(VALUE scheduler, VALUE io, VALUE buffer, size_t length, rb_off_t offset) +rb_fiber_scheduler_io_pwrite(VALUE scheduler, VALUE io, rb_off_t from, VALUE buffer, size_t length, size_t offset) { VALUE arguments[] = { - io, buffer, SIZET2NUM(length), OFFT2NUM(offset) + io, buffer, OFFT2NUM(from), SIZET2NUM(length), SIZET2NUM(offset) }; - return rb_check_funcall(scheduler, id_io_pwrite, 4, arguments); + return rb_check_funcall(scheduler, id_io_pwrite, 5, arguments); } VALUE @@ -276,7 +276,7 @@ rb_fiber_scheduler_io_read_memory(VALUE scheduler, VALUE io, void *base, size_t { VALUE buffer = rb_io_buffer_new(base, size, RB_IO_BUFFER_LOCKED); - VALUE result = rb_fiber_scheduler_io_read(scheduler, io, buffer, length); + VALUE result = rb_fiber_scheduler_io_read(scheduler, io, buffer, length, 0); rb_io_buffer_unlock(buffer); rb_io_buffer_free(buffer); @@ -289,7 +289,7 @@ rb_fiber_scheduler_io_write_memory(VALUE scheduler, VALUE io, const void *base, { VALUE buffer = rb_io_buffer_new((void*)base, size, RB_IO_BUFFER_LOCKED|RB_IO_BUFFER_READONLY); - VALUE result = rb_fiber_scheduler_io_write(scheduler, io, buffer, length); + VALUE result = rb_fiber_scheduler_io_write(scheduler, io, buffer, length, 0); rb_io_buffer_unlock(buffer); rb_io_buffer_free(buffer); |