Index: net/udp/udp_socket_libevent.cc |
diff --git a/net/udp/udp_socket_libevent.cc b/net/udp/udp_socket_libevent.cc |
index beb1dcaf87d896064cf6f4ce8220442b94f31a18..9a44945622975cd0925c19b4bc5c8fe2547cf72e 100644 |
--- a/net/udp/udp_socket_libevent.cc |
+++ b/net/udp/udp_socket_libevent.cc |
@@ -465,16 +465,20 @@ int UDPSocketLibevent::SetSocketOptions() { |
sizeof(true_value)); |
if (rv < 0) |
return MapSystemError(errno); |
-#if defined(SO_REUSEPORT) |
+ } |
+ if (socket_options_ & SOCKET_OPTION_BROADCAST) { |
+ int rv; |
+#if defined(OS_MACOSX) |
+ // SO_REUSEPORT on OSX permits multiple instances of a program to |
wtc
2012/09/18 14:40:32
Did you mean "multiple instances of the same progr
ygorshenin1
2012/09/18 14:54:22
I thought "multiple processes" will be better. Tha
|
+ // each receive UDP multicast or broadcast datagrams destined for |
+ // the bound port. |
rv = setsockopt(socket_, SOL_SOCKET, SO_REUSEPORT, &true_value, |
sizeof(true_value)); |
if (rv < 0) |
return MapSystemError(errno); |
-#endif |
- } |
- if (socket_options_ & SOCKET_OPTION_BROADCAST) { |
- int rv = setsockopt(socket_, SOL_SOCKET, SO_BROADCAST, &true_value, |
- sizeof(true_value)); |
+#endif // defined(OS_MACOSX) |
+ rv = setsockopt(socket_, SOL_SOCKET, SO_BROADCAST, &true_value, |
+ sizeof(true_value)); |
if (rv < 0) |
return MapSystemError(errno); |
} |