From 9650632cd125fa6e5c804f76ecdfac9904e8581b Mon Sep 17 00:00:00 2001 From: Justin Clarke Casey Date: Mon, 18 Aug 2008 21:14:38 +0000 Subject: * It appears that sometimes some IClientAPI reference is not being released, resulting in continual execution of the CheckConnectivity timer method * For now, just turn off this timer when we close the connection * Also some minor help refactoring creeps in to this revision. --- OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs') diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 8f0e2d7..ef66e93 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs @@ -456,6 +456,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP /// public void Close(bool shutdownCircuit) { + m_clientPingTimer.Enabled = false; + m_log.DebugFormat( "[CLIENT]: Close has been called with shutdownCircuit = {0} on scene {1}", shutdownCircuit, m_scene.RegionInfo.RegionName); @@ -655,14 +657,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP if ((m_probesWithNoIngressPackets > 30 && !m_clientBlocked) || (m_probesWithNoIngressPackets > 90 && m_clientBlocked)) { + m_clientPingTimer.Enabled = false; + + m_log.WarnFormat( + "[CLIENT]: Client for agent {0} {1} has stopped responding to pings. Closing connection", + Name, AgentId); + if (OnConnectionClosed != null) { - m_log.WarnFormat( - "[CLIENT]: Client for agent {0} {1} has stopped responding to pings. Closing connection", - Name, AgentId); - OnConnectionClosed(this); - } + } } else { -- cgit v1.1