diff options
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | lib/net/protocol.rb | 2 |
2 files changed, 6 insertions, 1 deletions
@@ -171,6 +171,11 @@ Mon Dec 22 18:00:36 2008 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp> * ext/tk/tcltklib.c: fix wrong flag value. +Mon Dec 22 15:15:58 2008 Yukihiro Matsumoto <matz@ruby-lang.org> + + * lib/net/protocol.rb (Net::BufferedIO#rbuf_fill): avoid calling + read_nonblock in rescue. use retry instead. + Mon Dec 22 14:35:59 2008 Yukihiro Matsumoto <matz@ruby-lang.org> * string.c (rb_external_str_new_with_enc): set ASCII-8BIT if diff --git a/lib/net/protocol.rb b/lib/net/protocol.rb index 3f6f416bab..e26c849338 100644 --- a/lib/net/protocol.rb +++ b/lib/net/protocol.rb @@ -135,7 +135,7 @@ module Net # :nodoc: @rbuf << @io.read_nonblock(BUFSIZE) rescue Errno::EWOULDBLOCK if IO.select([@io], nil, nil, @read_timeout) - @rbuf << @io.read_nonblock(BUFSIZE) + retry else raise Timeout::TimeoutError end |