From 49e4df486192bf36e4538369298628e30680acce Mon Sep 17 00:00:00 2001 From: usa Date: Sun, 9 Apr 2017 16:19:37 +0000 Subject: Get rid of inifinity retry loop in Socket.udp_server_sockets * ext/socket/lib/socket.rb (Socket.udp_server_sockets): remove duplicated addresses before passing it to ip_sockets_port0 because it causes Errno::EADDRINUSE and retry forever. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@58293 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ext/socket/lib/socket.rb | 1 + 1 file changed, 1 insertion(+) diff --git a/ext/socket/lib/socket.rb b/ext/socket/lib/socket.rb index ad7d1e7aa0..d079ec508e 100644 --- a/ext/socket/lib/socket.rb +++ b/ext/socket/lib/socket.rb @@ -897,6 +897,7 @@ class Socket < BasicSocket ip_list << ai end } + ip_list.uniq!{|e| e.to_sockaddr} if port == 0 sockets = ip_sockets_port0(ip_list, false) -- cgit v1.2.3