summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--io.c9
-rw-r--r--rubyio.h1
2 files changed, 10 insertions, 0 deletions
diff --git a/io.c b/io.c
index 88c95a02c5..3476e1352c 100644
--- a/io.c
+++ b/io.c
@@ -167,6 +167,15 @@ rb_read_pending(fp)
return READ_DATA_PENDING(fp);
}
+void
+rb_read_check(fp)
+ FILE *fp;
+{
+ if (!READ_DATA_PENDING(fp)) {
+ rb_thread_wait_fd(fileno(fp));
+ }
+}
+
/* writing functions */
static VALUE
io_write(io, str)
diff --git a/rubyio.h b/rubyio.h
index 014ca4acd7..b0d9cda3ec 100644
--- a/rubyio.h
+++ b/rubyio.h
@@ -58,5 +58,6 @@ void rb_io_synchronized _((OpenFile*));
void rb_io_check_closed _((OpenFile*));
void rb_eof_error _((void));
+void rb_read_check _((FILE*));
int rb_read_pending _((FILE*));
#endif