summaryrefslogtreecommitdiff
path: root/internal/io.h
diff options
context:
space:
mode:
authorSamuel Williams <[email protected]>2024-10-05 15:10:12 +1300
committerGitHub <[email protected]>2024-10-05 15:10:12 +1300
commitc50298d7d4f8797963490f5679b1c481b89d4955 (patch)
tree5db5be70aef942882ef3a856ba83432b8a44a9ce /internal/io.h
parente766cb3e578fcfb3f21dd8f4a95cd4296b704c89 (diff)
Introduce `rb_io_blocking_region` which takes `struct rb_io` argument. (#11795)
This does not change any actual behaviour, but provides a choke point for blocking IO operations. * Update `IO::Buffer` to use `rb_io_blocking_region`. * Update `File` to use `rb_io_blocking_region`. * Update `IO` to use `rb_io_blocking_region`.
Notes
Notes: Merged-By: ioquatix <[email protected]>
Diffstat (limited to 'internal/io.h')
-rw-r--r--internal/io.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/internal/io.h b/internal/io.h
index 1891248a19..c207ca38bf 100644
--- a/internal/io.h
+++ b/internal/io.h
@@ -135,6 +135,9 @@ RUBY_SYMBOL_EXPORT_BEGIN
void rb_maygvl_fd_fix_cloexec(int fd);
int rb_gc_for_fd(int err);
void rb_write_error_str(VALUE mesg);
+
+VALUE rb_io_blocking_region_wait(struct rb_io *io, rb_blocking_function_t *function, void *argument, enum rb_io_event events);
+VALUE rb_io_blocking_region(struct rb_io *io, rb_blocking_function_t *function, void *argument);
RUBY_SYMBOL_EXPORT_END
#endif /* INTERNAL_IO_H */