Merge branch 'ubitwork' of ssh://3dhosting.de/var/git/careminster into ubitwork

avinationmerge
ubit 2012-08-03 16:22:34 +02:00
commit 0549dde3c6
2 changed files with 7 additions and 5 deletions

View File

@ -517,7 +517,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
/// </summary> /// </summary>
public void Close(bool sendStop) public void Close(bool sendStop)
{ {
IsActive = false; // IsActive = false;
// We lock here to prevent race conditions between two threads calling close simultaneously (e.g. // We lock here to prevent race conditions between two threads calling close simultaneously (e.g.
// a simultaneous relog just as a client is being closed out due to no packet ack from the old connection. // a simultaneous relog just as a client is being closed out due to no packet ack from the old connection.
lock (CloseSyncLock) lock (CloseSyncLock)
@ -525,7 +525,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
if (!IsActive) if (!IsActive)
return; return;
IsActive = false; // IsActive = false;
CloseWithoutChecks(sendStop); CloseWithoutChecks(sendStop);
} }
} }
@ -552,7 +552,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
OutPacket(disable, ThrottleOutPacketType.Unknown); OutPacket(disable, ThrottleOutPacketType.Unknown);
} }
IsActive = false; // IsActive = false;
// Shutdown the image manager // Shutdown the image manager
ImageManager.Close(); ImageManager.Close();

View File

@ -2966,10 +2966,12 @@ namespace OpenSim.Region.Framework.Scenes
try try
{ {
ScenePresence sp = GetScenePresence(agentID); ScenePresence sp = GetScenePresence(agentID);
PresenceService.LogoutAgent(sp.ControllingClient.SessionId);
if (sp != null) if (sp != null)
{
PresenceService.LogoutAgent(sp.ControllingClient.SessionId);
sp.ControllingClient.Close(); sp.ControllingClient.Close();
}
// BANG! SLASH! // BANG! SLASH!
m_authenticateHandler.RemoveCircuit(agentID); m_authenticateHandler.RemoveCircuit(agentID);