aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/ClientStack/ClientView.cs15
1 files changed, 11 insertions, 4 deletions
diff --git a/OpenSim/Region/ClientStack/ClientView.cs b/OpenSim/Region/ClientStack/ClientView.cs
index 848a08d..1440d6c 100644
--- a/OpenSim/Region/ClientStack/ClientView.cs
+++ b/OpenSim/Region/ClientStack/ClientView.cs
@@ -238,7 +238,7 @@ namespace OpenSim.Region.ClientStack
238 238
239 # region Client Methods 239 # region Client Methods
240 240
241 private void CloseCleanup() 241 private void CloseCleanup(bool ShutdownCircult)
242 { 242 {
243 m_scene.RemoveClient(AgentId); 243 m_scene.RemoveClient(AgentId);
244 244
@@ -268,8 +268,15 @@ namespace OpenSim.Region.ClientStack
268 // We can't reach into other scenes and close the connection 268 // We can't reach into other scenes and close the connection
269 // We need to do this over grid communications 269 // We need to do this over grid communications
270 //m_scene.CloseAllAgents(CircuitCode); 270 //m_scene.CloseAllAgents(CircuitCode);
271 GC.Collect(); 271
272 m_clientThread.Abort(); 272 // If we're not shutting down the circuit, then this is the last time we'll go here.
273 // If we are shutting down the circuit, the UDP Server will come back here with
274 // ShutDownCircuit = false
275 if (!(ShutdownCircult))
276 {
277 GC.Collect();
278 m_clientThread.Abort();
279 }
273 } 280 }
274 281
275 /// <summary> 282 /// <summary>
@@ -286,7 +293,7 @@ namespace OpenSim.Region.ClientStack
286 if (ShutdownCircult) 293 if (ShutdownCircult)
287 OnConnectionClosed(this); 294 OnConnectionClosed(this);
288 295
289 CloseCleanup(); 296 CloseCleanup(ShutdownCircult);
290 } 297 }
291 298
292 public void Kick(string message) 299 public void Kick(string message)