summaryrefslogtreecommitdiff
path: root/io.c
diff options
context:
space:
mode:
authormatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2000-01-17 08:37:53 +0000
committermatz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2000-01-17 08:37:53 +0000
commitdde62bcd2efbb3825d982326896ab774e73e4218 (patch)
tree6a421d3818dd390cf8f6b2c5544726a8950e1401 /io.c
parente43877719bd4bbd12e493e896a0f98c5b349937b (diff)
2000-01-17
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@606 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'io.c')
-rw-r--r--io.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/io.c b/io.c
index 9bc1c6014f..6222d9047e 100644
--- a/io.c
+++ b/io.c
@@ -160,13 +160,11 @@ rb_io_check_writable(fptr)
}
}
-void
-rb_read_check(fp)
+int
+rb_read_pending(fp)
FILE *fp;
{
- if (!READ_DATA_PENDING(fp)) {
- rb_thread_wait_fd(fileno(fp));
- }
+ return READ_DATA_PENDING(fp);
}
/* writing functions */
@@ -1076,6 +1074,9 @@ rb_io_sysread(io, len)
GetOpenFile(io, fptr);
rb_io_check_readable(fptr);
+ if (READ_DATA_PENDING(fptr->f)) {
+ rb_raise(rb_eIOError, "sysread for buffered IO");
+ }
str = rb_str_new(0, ilen);
rb_thread_wait_fd(fileno(fptr->f));