diff options
author | John Hurliman | 2009-10-13 18:56:54 -0700 |
---|---|---|
committer | John Hurliman | 2009-10-13 18:56:54 -0700 |
commit | e8c1e69a0dbab1a7db894eeff6b052bbd350a8f5 (patch) | |
tree | 6d29a3bae418c1c5a06e3f1b8ad4a59db57a8d9e /OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |
parent | * Consolidated adding / removing ClientManager IClientAPIs to two places in S... (diff) | |
download | opensim-SC-e8c1e69a0dbab1a7db894eeff6b052bbd350a8f5.zip opensim-SC-e8c1e69a0dbab1a7db894eeff6b052bbd350a8f5.tar.gz opensim-SC-e8c1e69a0dbab1a7db894eeff6b052bbd350a8f5.tar.bz2 opensim-SC-e8c1e69a0dbab1a7db894eeff6b052bbd350a8f5.tar.xz |
* Copied LocklessQueue.cs into OpenSim.Framework and added the .Count property and .Clear() method
* Changed the way the QueueEmpty callback is fired. It will be fired asynchronously as soon as an empty queue is detected (this can happen immediately following a dequeue), and will not be fired again until at least one packet is dequeued from that queue. This will give callbacks advanced notice of an empty queue and prevent callbacks from stacking up while the queue is empty
* Added LLUDPClient.IsConnected checks in several places to prevent unwanted network activity after a client disconnects
* Prevent LLClientView.Close() from being called twice every disconnect
* Removed the packet resend limit and improved the client timeout check
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 0acf6e8..ac558ff 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -433,13 +433,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
433 | // Remove ourselves from the scene | 433 | // Remove ourselves from the scene |
434 | m_scene.RemoveClient(AgentId); | 434 | m_scene.RemoveClient(AgentId); |
435 | 435 | ||
436 | //m_log.InfoFormat("[CLIENTVIEW] Memory pre GC {0}", System.GC.GetTotalMemory(false)); | ||
437 | //GC.Collect(); | ||
438 | //m_log.InfoFormat("[CLIENTVIEW] Memory post GC {0}", System.GC.GetTotalMemory(true)); | ||
439 | |||
440 | // FIXME: Is this still necessary? | ||
441 | //Thread.Sleep(2000); | ||
442 | |||
443 | // Shut down timers. Thread Context of this method is murky. Lock all timers | 436 | // Shut down timers. Thread Context of this method is murky. Lock all timers |
444 | if (m_avatarTerseUpdateTimer.Enabled) | 437 | if (m_avatarTerseUpdateTimer.Enabled) |
445 | lock (m_avatarTerseUpdateTimer) | 438 | lock (m_avatarTerseUpdateTimer) |
@@ -461,6 +454,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
461 | 454 | ||
462 | // Disable UDP handling for this client | 455 | // Disable UDP handling for this client |
463 | m_udpClient.Shutdown(); | 456 | m_udpClient.Shutdown(); |
457 | |||
458 | //m_log.InfoFormat("[CLIENTVIEW] Memory pre GC {0}", System.GC.GetTotalMemory(false)); | ||
459 | //GC.Collect(); | ||
460 | //m_log.InfoFormat("[CLIENTVIEW] Memory post GC {0}", System.GC.GetTotalMemory(true)); | ||
464 | } | 461 | } |
465 | 462 | ||
466 | public void Kick(string message) | 463 | public void Kick(string message) |