diff options
-rw-r--r-- | lib/mogilefs/socket/pure_ruby.rb | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/lib/mogilefs/socket/pure_ruby.rb b/lib/mogilefs/socket/pure_ruby.rb index 7530a40..e74bbef 100644 --- a/lib/mogilefs/socket/pure_ruby.rb +++ b/lib/mogilefs/socket/pure_ruby.rb @@ -23,15 +23,15 @@ class MogileFS::Socket < Socket sock end - def wait_writable(timeout) + def wait_writable(timeout = nil) IO.select(nil, [ self ], nil, timeout) end unless self.instance_methods.include?(:wait_writable) # Ruby <2.0.0 def timed_read(len, dst = "", timeout = 5) begin - wait_readable(timeout) or unreadable_socket!(timeout) return read_nonblock(len, dst) rescue Errno::EAGAIN + wait(timeout) or unreadable_socket!(timeout) rescue EOFError return end while true @@ -39,10 +39,10 @@ class MogileFS::Socket < Socket def timed_peek(len, dst, timeout = 5) begin - wait_readable(timeout) or unreadable_socket!(timeout) rc = recv_nonblock(len, Socket::MSG_PEEK) return rc.empty? ? nil : dst.replace(rc) rescue Errno::EAGAIN + wait(timeout) or unreadable_socket!(timeout) rescue EOFError dst.replace("") return |