diff options
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/ClientStack/ClientView.cs | 15 |
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) |