aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2013-09-25 00:02:17 +0100
committerJustin Clark-Casey (justincc)2013-09-25 00:02:17 +0100
commitf384a6291e6b03b451dd3e3fec7667bc8f53c296 (patch)
tree79fda8cf39cb99cf0197bf0fbf9c4e6ac1f2b363
parent* The last two are the the patch that Aleric wanted pulled from his repo. * A... (diff)
downloadopensim-SC_OLD-f384a6291e6b03b451dd3e3fec7667bc8f53c296.zip
opensim-SC_OLD-f384a6291e6b03b451dd3e3fec7667bc8f53c296.tar.gz
opensim-SC_OLD-f384a6291e6b03b451dd3e3fec7667bc8f53c296.tar.bz2
opensim-SC_OLD-f384a6291e6b03b451dd3e3fec7667bc8f53c296.tar.xz
Instead of swallowing any socket begin/end receive exceptions, log them for debugging purposes.
This may reveal why on some teleports with current code, the UseCircuitCode message gets through but CompleteMovement disappears into the ether.
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs39
1 files changed, 32 insertions, 7 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs b/OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs
index d0ed7e8..88494be 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs
@@ -295,7 +295,16 @@ namespace OpenMetaverse
295 m_log.Warn("[UDPBASE]: Salvaged the UDP listener on port " + m_udpPort); 295 m_log.Warn("[UDPBASE]: Salvaged the UDP listener on port " + m_udpPort);
296 } 296 }
297 } 297 }
298 catch (ObjectDisposedException) { } 298 catch (ObjectDisposedException e)
299 {
300 m_log.Error(
301 string.Format("[UDPBASE]: Error processing UDP begin receive {0}. Exception ", UdpReceives), e);
302 }
303 catch (Exception e)
304 {
305 m_log.Error(
306 string.Format("[UDPBASE]: Error processing UDP begin receive {0}. Exception ", UdpReceives), e);
307 }
299 } 308 }
300 } 309 }
301 310
@@ -312,12 +321,12 @@ namespace OpenMetaverse
312 if (m_asyncPacketHandling) 321 if (m_asyncPacketHandling)
313 AsyncBeginReceive(); 322 AsyncBeginReceive();
314 323
315 // get the buffer that was created in AsyncBeginReceive
316 // this is the received data
317 UDPPacketBuffer buffer = (UDPPacketBuffer)iar.AsyncState;
318
319 try 324 try
320 { 325 {
326 // get the buffer that was created in AsyncBeginReceive
327 // this is the received data
328 UDPPacketBuffer buffer = (UDPPacketBuffer)iar.AsyncState;
329
321 int startTick = Util.EnvironmentTickCount(); 330 int startTick = Util.EnvironmentTickCount();
322 331
323 // get the length of data actually read from the socket, store it with the 332 // get the length of data actually read from the socket, store it with the
@@ -345,8 +354,24 @@ namespace OpenMetaverse
345 m_currentReceiveTimeSamples++; 354 m_currentReceiveTimeSamples++;
346 } 355 }
347 } 356 }
348 catch (SocketException) { } 357 catch (SocketException se)
349 catch (ObjectDisposedException) { } 358 {
359 m_log.Error(
360 string.Format(
361 "[UDPBASE]: Error processing UDP end receive {0}, socket error code {1}. Exception ",
362 UdpReceives, se.ErrorCode),
363 se);
364 }
365 catch (ObjectDisposedException e)
366 {
367 m_log.Error(
368 string.Format("[UDPBASE]: Error processing UDP end receive {0}. Exception ", UdpReceives), e);
369 }
370 catch (Exception e)
371 {
372 m_log.Error(
373 string.Format("[UDPBASE]: Error processing UDP end receive {0}. Exception ", UdpReceives), e);
374 }
350 finally 375 finally
351 { 376 {
352// if (UsePools) 377// if (UsePools)