From 43f910a9aa5f65312e18902de4464ba4069e9123 Mon Sep 17 00:00:00 2001 From: akr Date: Sat, 11 Oct 2008 13:44:31 +0000 Subject: rdoc update. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19759 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- io.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/io.c b/io.c index 361a488bc1..3350646d87 100644 --- a/io.c +++ b/io.c @@ -1801,6 +1801,16 @@ io_readpartial(int argc, VALUE *argv, VALUE io) * read_nonblock reads from the buffer like readpartial. * In this case, read(2) is not called. * + * read_nonblock can emulate blocking read as follows. + * + * begin + * result = io.read_nonblock(maxlen) + * rescue Errno::EINTR + * retry + * rescue Errno::EWOULDBLOCK, Errno::EAGAIN + * IO.select([io]) + * retry + * end */ static VALUE @@ -1832,6 +1842,16 @@ io_read_nonblock(int argc, VALUE *argv, VALUE io) * * If the write buffer is not empty, it is flushed at first. * + * write_nonblock can emulate blocking write as follows. + * + * begin + * result = io.write_nonblock(string) + * rescue Errno::EINTR + * retry + * rescue Errno::EWOULDBLOCK, Errno::EAGAIN + * IO.select(nil, [io]) + * retry + * end */ static VALUE -- cgit v1.2.3