From d5bc38fdbf70035bef7898ec5c4de7ce26c68643 Mon Sep 17 00:00:00 2001 From: matz Date: Tue, 23 Dec 2008 15:24:54 +0000 Subject: [PATCH] * lib/net/protocol.rb (Net::BufferedIO#rbuf_fill): avoid calling read_nonblock in rescue. use retry instead. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@20955 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 5 +++++ lib/net/protocol.rb | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index d12bec132c..578fc66dd1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -171,6 +171,11 @@ Mon Dec 22 18:00:36 2008 Hidetoshi NAGAI * ext/tk/tcltklib.c: fix wrong flag value. +Mon Dec 22 15:15:58 2008 Yukihiro Matsumoto + + * 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 * 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