summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authornormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-04-20 02:11:10 +0000
committernormal <normal@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2015-04-20 02:11:10 +0000
commitb88296be43b7fe0c0a3b477dae04aa26ee71128e (patch)
treed47ee804618835c70185fe3a54e5dc2cfa93e175 /test
parent038c0e5a804f1736e884f6741b9d7e84606580d7 (diff)
connect_nonblock(..., exception: false) does not raise EISCONN
* ext/socket/socket.c (sock_connect_nonblock): do not raise EISCONN [ruby-core:68926] [Feature #11072] * test/socket/test_nonblock.rb: check non-EISCONN on 2nd connect This is to reduce exceptions for code which issues a (IMHO, unnecessary) second connect() syscall. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@50347 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'test')
-rw-r--r--test/socket/test_nonblock.rb2
1 files changed, 2 insertions, 0 deletions
diff --git a/test/socket/test_nonblock.rb b/test/socket/test_nonblock.rb
index 6912046879..98de00eed9 100644
--- a/test/socket/test_nonblock.rb
+++ b/test/socket/test_nonblock.rb
@@ -69,6 +69,8 @@ class TestSocketNonblock < Test::Unit::TestCase
assert_equal :wait_writable, rv
end
assert_equal([ [], [c], [] ], IO.select(nil, [c], nil, 60))
+ assert_equal(0, c.connect_nonblock(servaddr, exception: false),
+ 'there should be no EISCONN error')
s, sockaddr = serv.accept
assert_equal(Socket.unpack_sockaddr_in(c.getsockname),
Socket.unpack_sockaddr_in(sockaddr))