aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim
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 /OpenSim
parent* The last two are the the patch that Aleric wanted pulled from his repo. * A... (diff)
downloadopensim-SC-f384a6291e6b03b451dd3e3fec7667bc8f53c296.zip
opensim-SC-f384a6291e6b03b451dd3e3fec7667bc8f53c296.tar.gz
opensim-SC-f384a6291e6b03b451dd3e3fec7667bc8f53c296.tar.bz2
opensim-SC-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.
Diffstat (limited to 'OpenSim')
-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)