From 8eea66a0ca8965ae8319b4c404f61c4d46866f64 Mon Sep 17 00:00:00 2001 From: Samuel Williams Date: Mon, 14 Sep 2020 11:10:02 +1200 Subject: Add support for Queue & SizedQueue. --- thread.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'thread.c') diff --git a/thread.c b/thread.c index c4ff5aafde..ab574e5c29 100644 --- a/thread.c +++ b/thread.c @@ -1481,8 +1481,13 @@ rb_thread_sleep_interruptible(void) static void rb_thread_sleep_deadly_allow_spurious_wakeup(void) { - thread_debug("rb_thread_sleep_deadly_allow_spurious_wakeup\n"); - sleep_forever(GET_THREAD(), SLEEP_DEADLOCKABLE); + VALUE scheduler = rb_thread_current_scheduler(); + if (scheduler != Qnil) { + rb_scheduler_kernel_sleepv(scheduler, 0, NULL); + } else { + thread_debug("rb_thread_sleep_deadly_allow_spurious_wakeup\n"); + sleep_forever(GET_THREAD(), SLEEP_DEADLOCKABLE); + } } void -- cgit v1.2.3