diff options
author | Jamis Buck <jamis@37signals.com> | 2008-04-18 15:33:13 -0600 |
---|---|---|
committer | Jamis Buck <jamis@37signals.com> | 2008-04-18 15:33:13 -0600 |
commit | 6f8e3c6e342fb1544c72a7b58411a5bfb8466b6b (patch) | |
tree | 50a28ade0446f3b03b83bdafc48a430598aff62a /lib/net/ssh/multi | |
parent | 00e01a9f1079017f3b5ca72a0d9d33496f7e5143 (diff) | |
download | net-ssh-multi-6f8e3c6e342fb1544c72a7b58411a5bfb8466b6b.tar.gz |
don't try to select on io's that are closed
Diffstat (limited to 'lib/net/ssh/multi')
-rw-r--r-- | lib/net/ssh/multi/server.rb | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/lib/net/ssh/multi/server.rb b/lib/net/ssh/multi/server.rb index 41fd97c..6ac5769 100644 --- a/lib/net/ssh/multi/server.rb +++ b/lib/net/ssh/multi/server.rb @@ -206,14 +206,13 @@ module Net; module SSH; module Multi # session is not open. def readers #:nodoc: return [] unless session - session.listeners.keys + session.listeners.keys.reject { |io| io.closed? } end # Returns all registered and pending writers on the session, or an empty # array if the session is not open. def writers #:nodoc: - return [] unless session - session.listeners.keys.select do |io| + readers.select do |io| io.respond_to?(:pending_write?) && io.pending_write? end end |