diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs index 7f86491..3c23dcf 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs | |||
@@ -1112,12 +1112,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1112 | 1112 | ||
1113 | private void RemoveClient(IClientAPI client) | 1113 | private void RemoveClient(IClientAPI client) |
1114 | { | 1114 | { |
1115 | // We must set IsLoggingOut synchronously so that we can stop the packet loop reinvoking this method. | ||
1116 | client.IsLoggingOut = true; | 1115 | client.IsLoggingOut = true; |
1117 | |||
1118 | // Fire this out on a different thread so that we don't hold up outgoing packet processing for | ||
1119 | // everybody else if this is being called due to an ack timeout. | ||
1120 | // This is the same as processing as the async process of a logout request. | ||
1121 | Util.FireAndForget(o => client.Close()); | 1116 | Util.FireAndForget(o => client.Close()); |
1122 | } | 1117 | } |
1123 | 1118 | ||
@@ -1129,6 +1124,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1129 | 1124 | ||
1130 | while (base.IsRunning) | 1125 | while (base.IsRunning) |
1131 | { | 1126 | { |
1127 | m_scene.ThreadAlive(1); | ||
1132 | try | 1128 | try |
1133 | { | 1129 | { |
1134 | IncomingPacket incomingPacket = null; | 1130 | IncomingPacket incomingPacket = null; |
@@ -1171,6 +1167,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1171 | 1167 | ||
1172 | while (base.IsRunning) | 1168 | while (base.IsRunning) |
1173 | { | 1169 | { |
1170 | m_scene.ThreadAlive(2); | ||
1174 | try | 1171 | try |
1175 | { | 1172 | { |
1176 | m_packetSent = false; | 1173 | m_packetSent = false; |
@@ -1436,4 +1433,4 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1436 | RemoveClient(client); | 1433 | RemoveClient(client); |
1437 | } | 1434 | } |
1438 | } | 1435 | } |
1439 | } \ No newline at end of file | 1436 | } |