summaryrefslogtreecommitdiff
path: root/lib/net
diff options
context:
space:
mode:
authorkazu <kazu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-22 11:12:06 +0000
committerkazu <kazu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2008-08-22 11:12:06 +0000
commit2d302dfd40ee9a4b3183415b19dbc22cf9106ba3 (patch)
tree4d3bfc69c17e6ccccb62391d1a91e98567af921d /lib/net
parent122595c263d67e0a32175833ed0ad6c7482b767e (diff)
* lib/webrick/server.rb (WEBrick::GenericServer#shutdown):
rescue Errno::ENOTCONN and close. [ruby-dev:35896] * test/openssl/test_ssl.rb (OpenSSL#start_server): ditto. [ruby-dev:35897] * lib/net/imap.rb (Net::IMAP#disconnect): ditto. [ruby-dev:35898] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@18777 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/net')
-rw-r--r--lib/net/imap.rb14
1 files changed, 9 insertions, 5 deletions
diff --git a/lib/net/imap.rb b/lib/net/imap.rb
index 64011e69cc..e6ffa3b1e0 100644
--- a/lib/net/imap.rb
+++ b/lib/net/imap.rb
@@ -288,11 +288,15 @@ module Net
# Disconnects from the server.
def disconnect
begin
- # try to call SSL::SSLSocket#io.
- @sock.io.shutdown
- rescue NoMethodError
- # @sock is not an SSL::SSLSocket.
- @sock.shutdown
+ begin
+ # try to call SSL::SSLSocket#io.
+ @sock.io.shutdown
+ rescue NoMethodError
+ # @sock is not an SSL::SSLSocket.
+ @sock.shutdown
+ end
+ rescue Errno::ENOTCONN
+ # ignore `Errno::ENOTCONN: Socket is not connected' on some platforms.
end
@receiver_thread.join
@sock.close