1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

[ruby/io-console] Use rb_thread_call_without_gvl instead of the deprecated function

https://github.com/ruby/io-console/commit/21338ab287
This commit is contained in:
Nobuyoshi Nakada 2019-12-10 10:09:33 +09:00
parent 09723b98f7
commit f9c0fe77c0
No known key found for this signature in database
GPG key ID: 4BC7D6DF58D8DF60

View file

@ -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;