diff options
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs b/OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs index 5323d5a..94300f8 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs | |||
@@ -168,6 +168,12 @@ namespace OpenMetaverse | |||
168 | m_log.Debug("[UDPBASE]: SIO_UDP_CONNRESET flag not supported on this platform, ignoring"); | 168 | m_log.Debug("[UDPBASE]: SIO_UDP_CONNRESET flag not supported on this platform, ignoring"); |
169 | } | 169 | } |
170 | 170 | ||
171 | // On at least Mono 3.2.8, multiple UDP sockets can bind to the same port by default. At the moment | ||
172 | // we never want two regions to listen on the same port as they cannot demultiplex each other's messages, | ||
173 | // leading to a confusing bug. | ||
174 | // By default, Windows does not allow two sockets to bind to the same port. | ||
175 | m_udpSocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, false); | ||
176 | |||
171 | if (recvBufferSize != 0) | 177 | if (recvBufferSize != 0) |
172 | m_udpSocket.ReceiveBufferSize = recvBufferSize; | 178 | m_udpSocket.ReceiveBufferSize = recvBufferSize; |
173 | 179 | ||