From 3b52230452980f3afc6a7380276ea62f7c65e517 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Sun, 1 Aug 2021 06:49:07 +0900 Subject: Define functions using rb_wait_for_single_fd [Bug #18046] --- ext/-test-/thread_fd/thread_fd.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'ext/-test-') diff --git a/ext/-test-/thread_fd/thread_fd.c b/ext/-test-/thread_fd/thread_fd.c index 3d3ec8a2e0..042b799dc8 100644 --- a/ext/-test-/thread_fd/thread_fd.c +++ b/ext/-test-/thread_fd/thread_fd.c @@ -7,8 +7,24 @@ thread_fd_close(VALUE ign, VALUE fd) return Qnil; } +static VALUE +thread_fd_wait(VALUE ign, VALUE fd) +{ + int ret = rb_thread_wait_fd(NUM2INT(fd)); + return INT2NUM(ret); +} + +static VALUE +thread_fd_writable(VALUE ign, VALUE fd) +{ + int ret = rb_thread_fd_writable(NUM2INT(fd)); + return INT2NUM(ret); +} + void Init_thread_fd(void) { rb_define_singleton_method(rb_cIO, "thread_fd_close", thread_fd_close, 1); + rb_define_singleton_method(rb_cIO, "thread_fd_wait", thread_fd_wait, 1); + rb_define_singleton_method(rb_cIO, "thread_fd_writable", thread_fd_writable, 1); } -- cgit v1.2.3