diff options
Diffstat (limited to 'OpenSim/Region/ClientStack/LindenUDP')
-rw-r--r-- | OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | 18 |
1 files changed, 13 insertions, 5 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs index 2d0215f..b143f3e 100644 --- a/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/LindenUDP/LLClientView.cs | |||
@@ -454,17 +454,25 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
454 | /// <param name="shutdownCircuit"></param> | 454 | /// <param name="shutdownCircuit"></param> |
455 | public void Close(bool shutdownCircuit) | 455 | public void Close(bool shutdownCircuit) |
456 | { | 456 | { |
457 | // Pull Client out of Region | 457 | m_log.DebugFormat( |
458 | m_log.Info("[CLIENT]: Close has been called"); | 458 | "[CLIENT]: Close has been called with shutdownCircuit = {0} on scene {1}", |
459 | shutdownCircuit, m_scene.RegionInfo.RegionName); | ||
460 | |||
459 | m_PacketHandler.Flush(); | 461 | m_PacketHandler.Flush(); |
460 | 462 | ||
461 | //raiseevent on the packet server to Shutdown the circuit | 463 | // raise an event on the packet server to Shutdown the circuit |
464 | // Now, if we raise the event then the packet server will call this method itself, so don't try cleanup | ||
465 | // here otherwise we'll end up calling it twice. | ||
466 | // FIXME: In truth, I might be wrong but this whole business of calling this method twice (with different args) looks | ||
467 | // horribly tangly. Hopefully it should be possible to greatly simplify it. | ||
462 | if (shutdownCircuit) | 468 | if (shutdownCircuit) |
463 | { | 469 | { |
464 | OnConnectionClosed(this); | 470 | OnConnectionClosed(this); |
465 | } | 471 | } |
466 | 472 | else | |
467 | CloseCleanup(shutdownCircuit); | 473 | { |
474 | CloseCleanup(shutdownCircuit); | ||
475 | } | ||
468 | } | 476 | } |
469 | 477 | ||
470 | public void Kick(string message) | 478 | public void Kick(string message) |