summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--test/openssl/test_ssl.rb19
2 files changed, 17 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 8b9c70555dc..67d04b92f80 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Jun 30 23:15:07 2008 Yusuke Endoh <mame@tsg.ne.jp>
+
+ * test/openssl/test_ssl.rb (start_server): shutdown TCPServer before
+ close.
+
Mon Jun 30 23:01:50 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* common.mk (RUBY_H_INCLUDES): common headers which are included with
diff --git a/test/openssl/test_ssl.rb b/test/openssl/test_ssl.rb
index 50659f1b3b0..876ca4c6856 100644
--- a/test/openssl/test_ssl.rb
+++ b/test/openssl/test_ssl.rb
@@ -128,14 +128,19 @@ class OpenSSL::TestSSL < Test::Unit::TestCase
block.call(server, port.to_i)
ensure
- tcps.close if (tcps)
- if (server)
- server.join(5)
- if server.alive?
- server.kill
- server.join
- flunk("TCPServer was closed and SSLServer is still alive") unless $!
+ tcps.shutdown if (tcps)
+ begin
+ if (server)
+ server.join(5)
+ if server.alive?
+ server.kill
+ server.join
+ flunk("TCPServer was closed and SSLServer is still alive") unless $!
+ end
end
+ rescue Errno::EINVAL, Errno::EBADF
+ ensure
+ tcps.close if (tcps)
end
end
end