diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1999-06-09 09:21:37 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1999-06-09 09:21:37 +0000 |
commit | c1241cd2ed230573bb81b52173d6cd2bd91176f2 (patch) | |
tree | caa3babd9a35b930814fffa9c8ebb3366d46dae8 /io.c | |
parent | 17ae11ca25d210da8c7deeeee0f03fd1a09ee0b2 (diff) |
thread bugs
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_3@482 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'io.c')
-rw-r--r-- | io.c | 21 |
1 files changed, 16 insertions, 5 deletions
@@ -306,10 +306,6 @@ rb_io_eof(io) rb_io_check_readable(fptr); if (READ_DATA_PENDING(fptr->f)) return Qfalse; -#if 0 - if (feof(fptr->f)) return Qtrue; - return Qfalse; -#else READ_CHECK(fptr->f); TRAP_BEG; ch = getc(fptr->f); @@ -320,7 +316,6 @@ rb_io_eof(io) return Qfalse; } return Qtrue; -#endif } static VALUE @@ -811,6 +806,22 @@ rb_io_getc(io) return INT2FIX(c & 0xff); } +int +rb_getc(f) + FILE *f; +{ + int c; + + if (!READ_DATA_PENDING(f)) { + rb_thread_wait_fd(fileno(f)); + } + TRAP_BEG; + c = getc(f); + TRAP_END; + + return c; +} + static VALUE rb_io_readchar(io) VALUE io; |