summaryrefslogtreecommitdiff
path: root/ext/io/wait
diff options
context:
space:
mode:
Diffstat (limited to 'ext/io/wait')
-rw-r--r--ext/io/wait/wait.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/ext/io/wait/wait.c b/ext/io/wait/wait.c
index 42f5e8fc48..24e4141162 100644
--- a/ext/io/wait/wait.c
+++ b/ext/io/wait/wait.c
@@ -46,7 +46,8 @@ EXTERN struct timeval rb_time_interval _((VALUE time));
* call-seq:
* io.ready? -> true, false or nil
*
- * Returns non-nil if input available without blocking, or nil.
+ * Returns true if input available without blocking, or false.
+ * Returns nil if no information available.
*/
static VALUE
@@ -58,10 +59,10 @@ io_ready_p(VALUE io)
GetOpenFile(io, fptr);
rb_io_check_readable(fptr);
if (rb_io_read_pending(fptr)) return Qtrue;
- if (!FIONREAD_POSSIBLE_P(fptr->fd)) return Qfalse;
- if (ioctl(fptr->fd, FIONREAD, &n)) rb_sys_fail(0);
- if (n > 0) return ioctl_arg2num(n);
- return Qnil;
+ if (!FIONREAD_POSSIBLE_P(fptr->fd)) return Qnil;
+ if (ioctl(fptr->fd, FIONREAD, &n)) return Qnil;
+ if (n > 0) return Qtrue;
+ return Qfalse;
}
struct wait_readable_arg {