From f9c0fe77c0ef6c5da1d8454bf6be6841c984d606 Mon Sep 17 00:00:00 2001 From: Nobuyoshi Nakada Date: Tue, 10 Dec 2019 10:09:33 +0900 Subject: [PATCH] [ruby/io-console] Use rb_thread_call_without_gvl instead of the deprecated function https://github.com/ruby/io-console/commit/21338ab287 --- ext/io/console/console.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/ext/io/console/console.c b/ext/io/console/console.c index 626d8d703d..b83fb67665 100644 --- a/ext/io/console/console.c +++ b/ext/io/console/console.c @@ -4,6 +4,7 @@ */ #include "ruby.h" #include "ruby/io.h" +#include "ruby/thread.h" #ifdef HAVE_UNISTD_H #include @@ -454,7 +455,7 @@ getc_call(VALUE io) return rb_funcallv(io, id_getc, 0, 0); } #else -static VALUE +static void * nogvl_getch(void *p) { int len = 0; @@ -473,7 +474,7 @@ nogvl_getch(void *p) buf[len++] = c; break; } - return (VALUE)len; + return (void *)(VALUE)len; } #endif @@ -521,7 +522,7 @@ console_getch(int argc, VALUE *argv, VALUE io) rb_warning("vtime option ignored if intr flag is unset"); } } - len = (int)rb_thread_io_blocking_region(nogvl_getch, wbuf, fptr->fd); + len = (int)(VALUE)rb_thread_call_without_gvl(nogvl_getch, wbuf, RUBY_UBF_IO, 0); switch (len) { case 0: return Qnil;