diff options
-rw-r--r-- | lib/rinda/ring.rb | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/lib/rinda/ring.rb b/lib/rinda/ring.rb index 9b3f13eb93..d82ecabfcc 100644 --- a/lib/rinda/ring.rb +++ b/lib/rinda/ring.rb @@ -135,7 +135,6 @@ module Rinda socket = Socket.new(addrinfo.pfamily, addrinfo.socktype, addrinfo.protocol) - @sockets << socket if addrinfo.ipv4_multicast? or addrinfo.ipv6_multicast? then if Socket.const_defined?(:SO_REUSEPORT) then @@ -166,6 +165,11 @@ module Rinda end socket + rescue + socket = socket.close if socket + raise + ensure + @sockets << socket if socket end ## |