aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs15
1 files changed, 12 insertions, 3 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs b/OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs
index 8dd96d6..f362b06 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs
@@ -228,14 +228,23 @@ namespace OpenMetaverse
228 { 228 {
229 m_log.Debug("[UDPBASE]: Failed to increase default TTL"); 229 m_log.Debug("[UDPBASE]: Failed to increase default TTL");
230 } 230 }
231
231 try 232 try
232 { 233 {
233 // This udp socket flag is not supported under mono, 234 // This udp socket flag is not supported under mono,
234 // so we'll catch the exception and continue 235 // so we'll catch the exception and continue
235 m_udpSocket.IOControl(SIO_UDP_CONNRESET, new byte[] { 0 }, null); 236 // Try does not protect some mono versions on mac
236 m_log.Debug("[UDPBASE]: SIO_UDP_CONNRESET flag set"); 237 if(Util.IsWindows())
238 {
239 m_udpSocket.IOControl(SIO_UDP_CONNRESET, new byte[] { 0 }, null);
240 m_log.Debug("[UDPBASE]: SIO_UDP_CONNRESET flag set");
241 }
242 else
243 {
244 m_log.Debug("[UDPBASE]: SIO_UDP_CONNRESET flag not supported on this platform, ignoring");
245 }
237 } 246 }
238 catch (SocketException) 247 catch
239 { 248 {
240 m_log.Debug("[UDPBASE]: SIO_UDP_CONNRESET flag not supported on this platform, ignoring"); 249 m_log.Debug("[UDPBASE]: SIO_UDP_CONNRESET flag not supported on this platform, ignoring");
241 } 250 }