summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorshyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-01-09 10:25:53 +0000
committershyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-01-09 10:25:53 +0000
commit375cd73c201314a38bb9ced9d5b96a683d24bf6b (patch)
treea18c06683a5e25cd9d7b7108a735809ebcd762b2 /lib
parentd458cea6403e6b4403215d41438d2ca7567035ba (diff)
merge revision(s) 18368:
* lib/net/imap.rb (disconnect): do not refer SSL::SSLSocket for environments without OpenSSL. backported from trunk. fixed [ruby-dev:35755]. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_8_7@21411 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib')
-rw-r--r--lib/net/imap.rb6
1 files changed, 4 insertions, 2 deletions
diff --git a/lib/net/imap.rb b/lib/net/imap.rb
index f8c0d3be4c..6162ffa0d0 100644
--- a/lib/net/imap.rb
+++ b/lib/net/imap.rb
@@ -284,9 +284,11 @@ module Net
# Disconnects from the server.
def disconnect
- if SSL::SSLSocket === @sock
+ begin
+ # try to call SSL::SSLSocket#io.
@sock.io.shutdown
- else
+ rescue NoMethodError
+ # @sock is not an SSL::SSLSocket.
@sock.shutdown
end
@receiver_thread.join