From 4c53dc970bf82e4c5fb237be4b2404bcb07496d2 Mon Sep 17 00:00:00 2001 From: Samuel Williams Date: Thu, 11 Feb 2021 19:17:54 +1300 Subject: Add hook for `Timeout.timeout`. --- scheduler.c | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'scheduler.c') diff --git a/scheduler.c b/scheduler.c index f2b1b00fa1..3403eb1801 100644 --- a/scheduler.c +++ b/scheduler.c @@ -17,6 +17,7 @@ static ID id_close; static ID id_block; static ID id_unblock; +static ID id_timeout_raise; static ID id_kernel_sleep; static ID id_process_wait; @@ -32,6 +33,7 @@ Init_Fiber_Scheduler(void) id_block = rb_intern_const("block"); id_unblock = rb_intern_const("unblock"); + id_timeout_raise = rb_intern_const("timeout_raise"); id_kernel_sleep = rb_intern_const("kernel_sleep"); id_process_wait = rb_intern_const("process_wait"); @@ -108,6 +110,12 @@ rb_fiber_scheduler_make_timeout(struct timeval *timeout) return Qnil; } +VALUE +rb_fiber_scheduler_timeout_raise(VALUE scheduler, VALUE timeout) +{ + return rb_funcall(scheduler, id_timeout_raise, 1, timeout); +} + VALUE rb_fiber_scheduler_kernel_sleep(VALUE scheduler, VALUE timeout) { -- cgit v1.2.1