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

Respect the original styles [ci skip]

This commit is contained in:
Nobuyoshi Nakada 2020-10-11 11:57:17 +09:00
parent 71428ac264
commit fddffa4c7a
No known key found for this signature in database
GPG key ID: 7CD2805BFA3770C6
2 changed files with 29 additions and 25 deletions

View file

@ -69,15 +69,16 @@ io_wait_event(VALUE io, int event, VALUE timeout)
VALUE result = rb_io_wait(io, RB_INT2NUM(event), timeout);
if (!RB_TEST(result)) {
return Qnil;
return Qnil;
}
int mask = RB_NUM2INT(result);
if (mask & event) {
return io;
} else {
return Qfalse;
return io;
}
else {
return Qfalse;
}
}
@ -230,35 +231,37 @@ io_wait(int argc, VALUE *argv, VALUE io)
rb_io_event_t events = 0;
if (argc < 2 || (argc >= 2 && RB_SYMBOL_P(argv[1]))) {
if (argc > 0) {
timeout = argv[0];
}
if (argc > 0) {
timeout = argv[0];
}
for (int i = 1; i < argc; i += 1) {
events |= wait_mode_sym(argv[i]);
}
} else if (argc == 2) {
events = RB_NUM2UINT(argv[0]);
for (int i = 1; i < argc; i += 1) {
events |= wait_mode_sym(argv[i]);
}
}
else if (argc == 2) {
events = RB_NUM2UINT(argv[0]);
if (argv[1] != Qnil) {
timeout = argv[1];
}
} else {
// TODO error
return Qnil;
if (argv[1] != Qnil) {
timeout = argv[1];
}
}
else {
// TODO error
return Qnil;
}
if (events == 0) {
events = RUBY_IO_READABLE;
events = RUBY_IO_READABLE;
}
if (events & RUBY_IO_READABLE) {
rb_io_t *fptr = NULL;
RB_IO_POINTER(io, fptr);
rb_io_t *fptr = NULL;
RB_IO_POINTER(io, fptr);
if (rb_io_read_pending(fptr)) {
return Qtrue;
}
if (rb_io_read_pending(fptr)) {
return Qtrue;
}
}
return io_wait_event(io, events, timeout);

3
io.c
View file

@ -1262,7 +1262,8 @@ io_fflush(rb_io_t *fptr)
}
VALUE
rb_io_wait(VALUE io, VALUE events, VALUE timeout) {
rb_io_wait(VALUE io, VALUE events, VALUE timeout)
{
VALUE scheduler = rb_thread_current_scheduler();
if (scheduler != Qnil) {