aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
diff options
context:
space:
mode:
authorMelanie Thielker2016-12-13 14:43:10 +0000
committerMelanie Thielker2016-12-13 14:43:10 +0000
commitee58beddece251f58e3befb0b6aa7f78d5ab372b (patch)
tree8967700ba069bfdb684fbbd311f88c204a2e34de /OpenSim
parentubOde other convex type objects other than mesh and sculpt also don't have holes (diff)
downloadopensim-SC-ee58beddece251f58e3befb0b6aa7f78d5ab372b.zip
opensim-SC-ee58beddece251f58e3befb0b6aa7f78d5ab372b.tar.gz
opensim-SC-ee58beddece251f58e3befb0b6aa7f78d5ab372b.tar.bz2
opensim-SC-ee58beddece251f58e3befb0b6aa7f78d5ab372b.tar.xz
Make sure sims on Linux can be restarted without waiting on a 2 mintue socket timeout
Diffstat (limited to 'OpenSim')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs12
1 files changed, 7 insertions, 5 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs b/OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs
index 4d726b4..fffd02c 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs
@@ -217,10 +217,6 @@ namespace OpenMetaverse
217 SocketType.Dgram, 217 SocketType.Dgram,
218 ProtocolType.Udp); 218 ProtocolType.Udp);
219 219
220 // OpenSim may need this but in AVN, this messes up automated
221 // sim restarts badly
222 //m_udpSocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, false);
223
224 try 220 try
225 { 221 {
226 if (m_udpSocket.Ttl < 128) 222 if (m_udpSocket.Ttl < 128)
@@ -248,7 +244,13 @@ namespace OpenMetaverse
248 // we never want two regions to listen on the same port as they cannot demultiplex each other's messages, 244 // we never want two regions to listen on the same port as they cannot demultiplex each other's messages,
249 // leading to a confusing bug. 245 // leading to a confusing bug.
250 // By default, Windows does not allow two sockets to bind to the same port. 246 // By default, Windows does not allow two sockets to bind to the same port.
251 m_udpSocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, false); 247 //
248 // Unfortunately, this also causes a crashed sim to leave the socket in a state
249 // where it appears to be in use but is really just hung from the old process
250 // crashing rather than closing it. While this protects agains misconfiguration,
251 // allowing crashed sims to be started up again right away, rather than having to
252 // wait 2 minutes for the socket to clear is more valuable. Commented 12/13/2016
253 // m_udpSocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, false);
252 254
253 if (recvBufferSize != 0) 255 if (recvBufferSize != 0)
254 m_udpSocket.ReceiveBufferSize = recvBufferSize; 256 m_udpSocket.ReceiveBufferSize = recvBufferSize;