mirror of
https://github.com/opensim/opensim.git
synced 2026-08-01 22:26:09 +08:00
* 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.
This commit is contained in:
@@ -456,6 +456,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
|
||||
/// <param name="shutdownCircuit"></param>
|
||||
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
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user