diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/Scene.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 38 |
1 files changed, 19 insertions, 19 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index b714c7f..49e32c6 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -1313,7 +1313,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1313 | Thread.Sleep(500); | 1313 | Thread.Sleep(500); |
1314 | 1314 | ||
1315 | // Stop all client threads. | 1315 | // Stop all client threads. |
1316 | ForEachScenePresence(delegate(ScenePresence avatar) { IncomingCloseAgent(avatar.UUID, false); }); | 1316 | ForEachScenePresence(delegate(ScenePresence avatar) { CloseAgent(avatar.UUID, false); }); |
1317 | 1317 | ||
1318 | m_log.Debug("[SCENE]: Persisting changed objects"); | 1318 | m_log.Debug("[SCENE]: Persisting changed objects"); |
1319 | EventManager.TriggerSceneShuttingDown(this); | 1319 | EventManager.TriggerSceneShuttingDown(this); |
@@ -2802,7 +2802,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2802 | 2802 | ||
2803 | #region Add/Remove Avatar Methods | 2803 | #region Add/Remove Avatar Methods |
2804 | 2804 | ||
2805 | public override ISceneAgent AddNewClient(IClientAPI client, PresenceType type) | 2805 | public override ISceneAgent AddNewAgent(IClientAPI client, PresenceType type) |
2806 | { | 2806 | { |
2807 | ScenePresence sp; | 2807 | ScenePresence sp; |
2808 | bool vialogin; | 2808 | bool vialogin; |
@@ -2810,7 +2810,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2810 | 2810 | ||
2811 | // Validation occurs in LLUDPServer | 2811 | // Validation occurs in LLUDPServer |
2812 | // | 2812 | // |
2813 | // XXX: A race condition exists here where two simultaneous calls to AddNewClient can interfere with | 2813 | // XXX: A race condition exists here where two simultaneous calls to AddNewAgent can interfere with |
2814 | // each other. In practice, this does not currently occur in the code. | 2814 | // each other. In practice, this does not currently occur in the code. |
2815 | AgentCircuitData aCircuit = m_authenticateHandler.GetAgentCircuitData(client.CircuitCode); | 2815 | AgentCircuitData aCircuit = m_authenticateHandler.GetAgentCircuitData(client.CircuitCode); |
2816 | 2816 | ||
@@ -2818,9 +2818,9 @@ namespace OpenSim.Region.Framework.Scenes | |||
2818 | // and a simultaneous one that removes it (as can happen if the client is closed at a particular point | 2818 | // and a simultaneous one that removes it (as can happen if the client is closed at a particular point |
2819 | // whilst connecting). | 2819 | // whilst connecting). |
2820 | // | 2820 | // |
2821 | // It would be easier to lock across all NewUserConnection(), AddNewClient() and | 2821 | // It would be easier to lock across all NewUserConnection(), AddNewAgent() and |
2822 | // RemoveClient() calls for all agents, but this would allow a slow call (e.g. because of slow service | 2822 | // RemoveClient() calls for all agents, but this would allow a slow call (e.g. because of slow service |
2823 | // response in some module listening to AddNewClient()) from holding up unrelated agent calls. | 2823 | // response in some module listening to AddNewAgent()) from holding up unrelated agent calls. |
2824 | // | 2824 | // |
2825 | // In practice, the lock (this) in LLUDPServer.AddNewClient() currently lock across all | 2825 | // In practice, the lock (this) in LLUDPServer.AddNewClient() currently lock across all |
2826 | // AddNewClient() operations (though not other ops). | 2826 | // AddNewClient() operations (though not other ops). |
@@ -2837,7 +2837,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2837 | 2837 | ||
2838 | // XXX: Not sure how good it is to add a new client if a scene presence already exists. Possibly this | 2838 | // XXX: Not sure how good it is to add a new client if a scene presence already exists. Possibly this |
2839 | // could occur if a viewer crashes and relogs before the old client is kicked out. But this could cause | 2839 | // could occur if a viewer crashes and relogs before the old client is kicked out. But this could cause |
2840 | // other problems, and possible the code calling AddNewClient() should ensure that no client is already | 2840 | // other problems, and possibly the code calling AddNewAgent() should ensure that no client is already |
2841 | // connected. | 2841 | // connected. |
2842 | if (sp == null) | 2842 | if (sp == null) |
2843 | { | 2843 | { |
@@ -2976,7 +2976,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2976 | { | 2976 | { |
2977 | PresenceService.LogoutAgent(sp.ControllingClient.SessionId); | 2977 | PresenceService.LogoutAgent(sp.ControllingClient.SessionId); |
2978 | 2978 | ||
2979 | IncomingCloseAgent(sp.UUID, false); | 2979 | CloseAgent(sp.UUID, false); |
2980 | } | 2980 | } |
2981 | else | 2981 | else |
2982 | { | 2982 | { |
@@ -3398,7 +3398,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3398 | /// <param name='closeChildAgents'> | 3398 | /// <param name='closeChildAgents'> |
3399 | /// Close the neighbour child agents associated with this client. | 3399 | /// Close the neighbour child agents associated with this client. |
3400 | /// </param> | 3400 | /// </param> |
3401 | public override void RemoveClient(UUID agentID, bool closeChildAgents) | 3401 | public void RemoveClient(UUID agentID, bool closeChildAgents) |
3402 | { | 3402 | { |
3403 | AgentCircuitData acd = m_authenticateHandler.GetAgentCircuitData(agentID); | 3403 | AgentCircuitData acd = m_authenticateHandler.GetAgentCircuitData(agentID); |
3404 | 3404 | ||
@@ -3783,7 +3783,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3783 | sp.Name, sp.UUID, RegionInfo.RegionName); | 3783 | sp.Name, sp.UUID, RegionInfo.RegionName); |
3784 | 3784 | ||
3785 | if (sp.ControllingClient != null) | 3785 | if (sp.ControllingClient != null) |
3786 | IncomingCloseAgent(sp.UUID, true); | 3786 | CloseAgent(sp.UUID, true); |
3787 | 3787 | ||
3788 | sp = null; | 3788 | sp = null; |
3789 | } | 3789 | } |
@@ -4306,7 +4306,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
4306 | // We have to wait until the viewer contacts this region | 4306 | // We have to wait until the viewer contacts this region |
4307 | // after receiving the EnableSimulator HTTP Event Queue message (for the v1 teleport protocol) | 4307 | // after receiving the EnableSimulator HTTP Event Queue message (for the v1 teleport protocol) |
4308 | // or TeleportFinish (for the v2 teleport protocol). This triggers the viewer to send | 4308 | // or TeleportFinish (for the v2 teleport protocol). This triggers the viewer to send |
4309 | // a UseCircuitCode packet which in turn calls AddNewClient which finally creates the ScenePresence. | 4309 | // a UseCircuitCode packet which in turn calls AddNewAgent which finally creates the ScenePresence. |
4310 | ScenePresence sp = WaitGetScenePresence(cAgentData.AgentID); | 4310 | ScenePresence sp = WaitGetScenePresence(cAgentData.AgentID); |
4311 | 4311 | ||
4312 | if (sp != null) | 4312 | if (sp != null) |
@@ -4424,7 +4424,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
4424 | /// <param name="force"></param> | 4424 | /// <param name="force"></param> |
4425 | /// <param name="auth_token"></param> | 4425 | /// <param name="auth_token"></param> |
4426 | /// <returns></returns> | 4426 | /// <returns></returns> |
4427 | public bool IncomingCloseAgent(UUID agentID, bool force, string auth_token) | 4427 | public bool CloseAgent(UUID agentID, bool force, string auth_token) |
4428 | { | 4428 | { |
4429 | //m_log.DebugFormat("[SCENE]: Processing incoming close agent {0} in region {1} with auth_token {2}", agentID, RegionInfo.RegionName, auth_token); | 4429 | //m_log.DebugFormat("[SCENE]: Processing incoming close agent {0} in region {1} with auth_token {2}", agentID, RegionInfo.RegionName, auth_token); |
4430 | 4430 | ||
@@ -4442,7 +4442,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
4442 | 4442 | ||
4443 | if (acd.SessionID.ToString() == auth_token) | 4443 | if (acd.SessionID.ToString() == auth_token) |
4444 | { | 4444 | { |
4445 | return IncomingCloseAgent(agentID, force); | 4445 | return CloseAgent(agentID, force); |
4446 | } | 4446 | } |
4447 | else | 4447 | else |
4448 | { | 4448 | { |
@@ -4455,16 +4455,16 @@ namespace OpenSim.Region.Framework.Scenes | |||
4455 | } | 4455 | } |
4456 | 4456 | ||
4457 | /// <summary> | 4457 | /// <summary> |
4458 | /// Tell a single agent to prepare to close. | 4458 | /// Tell a single client to prepare to close. |
4459 | /// </summary> | 4459 | /// </summary> |
4460 | /// <remarks> | 4460 | /// <remarks> |
4461 | /// This should only be called if we may close the agent but there will be some delay in so doing. Meant for | 4461 | /// This should only be called if we may close the client but there will be some delay in so doing. Meant for |
4462 | /// internal use - other callers should almost certainly called IncomingCloseAgent(). | 4462 | /// internal use - other callers should almost certainly called CloseClient(). |
4463 | /// </remarks> | 4463 | /// </remarks> |
4464 | /// <param name="sp"></param> | 4464 | /// <param name="sp"></param> |
4465 | /// <returns>true if pre-close state notification was successful. false if the agent | 4465 | /// <returns>true if pre-close state notification was successful. false if the agent |
4466 | /// was not in a state where it could transition to pre-close.</returns> | 4466 | /// was not in a state where it could transition to pre-close.</returns> |
4467 | public bool IncomingPreCloseAgent(ScenePresence sp) | 4467 | public bool IncomingPreCloseClient(ScenePresence sp) |
4468 | { | 4468 | { |
4469 | lock (m_removeClientLock) | 4469 | lock (m_removeClientLock) |
4470 | { | 4470 | { |
@@ -4506,7 +4506,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
4506 | /// Force the agent to close even if it might be in the middle of some other operation. You do not want to | 4506 | /// Force the agent to close even if it might be in the middle of some other operation. You do not want to |
4507 | /// force unless you are absolutely sure that the agent is dead and a normal close is not working. | 4507 | /// force unless you are absolutely sure that the agent is dead and a normal close is not working. |
4508 | /// </param> | 4508 | /// </param> |
4509 | public bool IncomingCloseAgent(UUID agentID, bool force) | 4509 | public override bool CloseAgent(UUID agentID, bool force) |
4510 | { | 4510 | { |
4511 | ScenePresence sp; | 4511 | ScenePresence sp; |
4512 | 4512 | ||
@@ -4517,7 +4517,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
4517 | if (sp == null) | 4517 | if (sp == null) |
4518 | { | 4518 | { |
4519 | m_log.DebugFormat( | 4519 | m_log.DebugFormat( |
4520 | "[SCENE]: Called IncomingCloseAgent() with agent ID {0} but no such presence is in {1}", | 4520 | "[SCENE]: Called CloseClient() with agent ID {0} but no such presence is in {1}", |
4521 | agentID, Name); | 4521 | agentID, Name); |
4522 | 4522 | ||
4523 | return false; | 4523 | return false; |
@@ -4526,7 +4526,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
4526 | if (sp.LifecycleState != ScenePresenceState.Running && sp.LifecycleState != ScenePresenceState.PreRemove) | 4526 | if (sp.LifecycleState != ScenePresenceState.Running && sp.LifecycleState != ScenePresenceState.PreRemove) |
4527 | { | 4527 | { |
4528 | m_log.DebugFormat( | 4528 | m_log.DebugFormat( |
4529 | "[SCENE]: Called IncomingCloseAgent() for {0} in {1} but presence is already in state {2}", | 4529 | "[SCENE]: Called CloseClient() for {0} in {1} but presence is already in state {2}", |
4530 | sp.Name, Name, sp.LifecycleState); | 4530 | sp.Name, Name, sp.LifecycleState); |
4531 | 4531 | ||
4532 | return false; | 4532 | return false; |