diff options
author | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2019-12-10 10:09:33 +0900 |
---|---|---|
committer | Nobuyoshi Nakada <nobu@ruby-lang.org> | 2019-12-10 16:06:11 +0900 |
commit | f9c0fe77c0ef6c5da1d8454bf6be6841c984d606 (patch) | |
tree | d6aefd170afe3ce074c142c1fecb5a1d2e9e35e7 | |
parent | 09723b98f7a8db4ce6d22cd282525275154736fe (diff) | |
download | ruby-f9c0fe77c0ef6c5da1d8454bf6be6841c984d606.tar.gz |
[ruby/io-console] Use rb_thread_call_without_gvl instead of the deprecated function
https://github.com/ruby/io-console/commit/21338ab287
-rw-r--r-- | ext/io/console/console.c | 7 |
1 files 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 <unistd.h> @@ -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; |