From 5e75280c8edcd0f3c8f79d0c532cbfd18074886a Mon Sep 17 00:00:00 2001 From: Samuel Williams Date: Tue, 29 Jun 2021 21:58:31 +1200 Subject: Add basic test for updated IO wait functions. --- ext/-test-/wait/wait.c | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 ext/-test-/wait/wait.c (limited to 'ext/-test-/wait/wait.c') diff --git a/ext/-test-/wait/wait.c b/ext/-test-/wait/wait.c new file mode 100644 index 0000000000..b73ee35809 --- /dev/null +++ b/ext/-test-/wait/wait.c @@ -0,0 +1,39 @@ +#include "ruby/ruby.h" +#include "ruby/io.h" + +static VALUE +io_wait(VALUE klass, VALUE io, VALUE events, VALUE timeout) +{ + return rb_io_wait(io, events, timeout); +} + +static VALUE +io_maybe_wait(VALUE klass, VALUE error, VALUE io, VALUE events, VALUE timeout) +{ + return rb_io_maybe_wait(RB_NUM2INT(error), io, events, timeout); +} + +static VALUE +io_maybe_wait_readable(VALUE klass, VALUE error, VALUE io, VALUE timeout) +{ + return RB_INT2NUM( + rb_io_maybe_wait_readable(RB_NUM2INT(error), io, timeout) + ); +} + +static VALUE +io_maybe_wait_writable(VALUE klass, VALUE error, VALUE io, VALUE timeout) +{ + return RB_INT2NUM( + rb_io_maybe_wait_writable(RB_NUM2INT(error), io, timeout) + ); +} + +void +Init_wait(void) +{ + rb_define_singleton_method(rb_cIO, "io_wait", io_wait, 3); + rb_define_singleton_method(rb_cIO, "io_maybe_wait", io_maybe_wait, 4); + rb_define_singleton_method(rb_cIO, "io_maybe_wait_readable", io_maybe_wait_readable, 3); + rb_define_singleton_method(rb_cIO, "io_maybe_wait_writable", io_maybe_wait_writable, 3); +} -- cgit v1.2.3