do not waste time sending a message back to client on DeactivateClientDueToTimeout..., that most likely will fail

This commit is contained in:
UbitUmarov
2022-11-05 00:26:34 +00:00
parent 2f3cf5260c
commit 3ef7d3d8df

View File

@@ -1028,7 +1028,6 @@ namespace OpenSim.Region.ClientStack.LindenUDP
// Fire this out on a different thread so that we don't hold up outgoing packet processing for
// everybody else if this is being called due to an ack timeout.
// This is the same as processing as the async process of a logout request.
Util.FireAndForget(
o => DeactivateClientDueToTimeout(client, timeoutTicks), null, "LLUDPServer.DeactivateClientDueToTimeout");
@@ -1747,19 +1746,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP
/// <param name='timeoutTicks'></param>
protected void DeactivateClientDueToTimeout(LLClientView client, int timeoutTicks)
{
lock (client.CloseSyncLock)
ClientLogoutsDueToNoReceives++;
if (client.SceneAgent != null)
{
ClientLogoutsDueToNoReceives++;
if (client.SceneAgent != null)
{
m_log.WarnFormat(
"[LLUDPSERVER]: No packets received from {0} agent of {1} for {2}ms in {3}. Disconnecting.",
client.SceneAgent.IsChildAgent ? "child" : "root", client.Name, timeoutTicks, Scene.Name);
if (!client.SceneAgent.IsChildAgent)
client.Kick("Simulator logged you out due to connection timeout.");
}
m_log.WarnFormat(
"[LLUDPSERVER]: No packets received from {0} agent of {1} for {2}ms in {3}. Disconnecting.",
client.SceneAgent.IsChildAgent ? "child" : "root", client.Name, timeoutTicks, Scene.Name);
}
if (!Scene.CloseAgent(client.AgentId, true))