summaryrefslogtreecommitdiff
path: root/scheduler.c
diff options
context:
space:
mode:
authorSamuel Williams <samuel.williams@oriontransfer.co.nz>2021-12-19 17:05:57 +1300
committerSamuel Williams <samuel.williams@oriontransfer.co.nz>2021-12-20 00:17:17 +1300
commit56811617ab4b7007aad10c794366115a671e4f29 (patch)
tree6696afc057cfb63d92118c4669041bef6132a416 /scheduler.c
parenta81e0600a7fa97bc1782de91110c6704a47af419 (diff)
Improve IO::Buffer resize and introduce ownership transfer.
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/5301
Diffstat (limited to 'scheduler.c')
-rw-r--r--scheduler.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/scheduler.c b/scheduler.c
index 91abeb82e3..6dd937ef6b 100644
--- a/scheduler.c
+++ b/scheduler.c
@@ -255,6 +255,7 @@ rb_fiber_scheduler_io_read_memory(VALUE scheduler, VALUE io, void *base, size_t
VALUE result = rb_fiber_scheduler_io_read(scheduler, io, buffer, length);
+ rb_io_buffer_unlock(buffer);
rb_io_buffer_free(buffer);
return result;
@@ -267,6 +268,7 @@ rb_fiber_scheduler_io_write_memory(VALUE scheduler, VALUE io, const void *base,
VALUE result = rb_fiber_scheduler_io_write(scheduler, io, buffer, length);
+ rb_io_buffer_unlock(buffer);
rb_io_buffer_free(buffer);
return result;