aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog4
-rw-r--r--lib/rinda/ring.rb2
2 files changed, 5 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index a4e7d74659..35148560df 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Wed Oct 28 05:59:19 2015 NARUSE, Yui <naruse@ruby-lang.org>
+
+ * lib/rinda/ring.rb: Linux's SO_REUSEPORT is not for multicast.
+
Tue Oct 27 23:14:14 2015 Nobuyoshi Nakada <nobu@ruby-lang.org>
* defs/id.def: enable anonymous IDs not to expose internal IDs for
diff --git a/lib/rinda/ring.rb b/lib/rinda/ring.rb
index fe33420494..784d0d503d 100644
--- a/lib/rinda/ring.rb
+++ b/lib/rinda/ring.rb
@@ -137,7 +137,7 @@ module Rinda
@sockets << socket
if addrinfo.ipv4_multicast? or addrinfo.ipv6_multicast? then
- if Socket.const_defined?(:SO_REUSEPORT) then
+ if Socket.const_defined?(:SO_REUSEPORT) && /linux/ !~ RUBY_PLATFORM then
socket.setsockopt(:SOCKET, :SO_REUSEPORT, true)
else
socket.setsockopt(:SOCKET, :SO_REUSEADDR, true)