diff options
author | Melanie | 2012-08-23 01:41:47 +0100 |
---|---|---|
committer | Melanie | 2012-08-23 01:41:47 +0100 |
commit | f8603a215d142f3b83a5ff1dc022b716b3e48f99 (patch) | |
tree | 49971f8e12efcfea18b4b2fdb6bd54c904d3f52c /OpenSim/Region/ClientStack | |
parent | Merge branch 'avination' into careminster (diff) | |
parent | this should be an if-else block in case the non-phys min/max are smaller than... (diff) | |
download | opensim-SC-f8603a215d142f3b83a5ff1dc022b716b3e48f99.zip opensim-SC-f8603a215d142f3b83a5ff1dc022b716b3e48f99.tar.gz opensim-SC-f8603a215d142f3b83a5ff1dc022b716b3e48f99.tar.bz2 opensim-SC-f8603a215d142f3b83a5ff1dc022b716b3e48f99.tar.xz |
Merge branch 'master' into careminster
Conflicts:
OpenSim/Framework/IClientAPI.cs
OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
OpenSim/Region/Framework/Scenes/Scene.cs
OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs
OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs
OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs
Diffstat (limited to 'OpenSim/Region/ClientStack')
3 files changed, 8 insertions, 9 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/Tests/EventQueueTests.cs b/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/Tests/EventQueueTests.cs index cd70410..d604cf6 100644 --- a/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/Tests/EventQueueTests.cs +++ b/OpenSim/Region/ClientStack/Linden/Caps/EventQueue/Tests/EventQueueTests.cs | |||
@@ -94,7 +94,7 @@ namespace OpenSim.Region.ClientStack.Linden.Tests | |||
94 | UUID spId = TestHelpers.ParseTail(0x1); | 94 | UUID spId = TestHelpers.ParseTail(0x1); |
95 | 95 | ||
96 | SceneHelpers.AddScenePresence(m_scene, spId); | 96 | SceneHelpers.AddScenePresence(m_scene, spId); |
97 | m_scene.IncomingCloseAgent(spId); | 97 | m_scene.IncomingCloseAgent(spId, false); |
98 | 98 | ||
99 | // TODO: Add more assertions for the other aspects of event queues | 99 | // TODO: Add more assertions for the other aspects of event queues |
100 | Assert.That(MainServer.Instance.GetPollServiceHandlerKeys().Count, Is.EqualTo(0)); | 100 | Assert.That(MainServer.Instance.GetPollServiceHandlerKeys().Count, Is.EqualTo(0)); |
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index ddd8f18..2dcc9cb 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -509,19 +509,18 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
509 | /// </summary> | 509 | /// </summary> |
510 | public void Close() | 510 | public void Close() |
511 | { | 511 | { |
512 | Close(true); | 512 | Close(true, false); |
513 | } | 513 | } |
514 | 514 | ||
515 | /// <summary> | 515 | public void Close(bool sendStop, bool force) |
516 | /// Shut down the client view | ||
517 | /// </summary> | ||
518 | public void Close(bool sendStop) | ||
519 | { | 516 | { |
520 | // We lock here to prevent race conditions between two threads calling close simultaneously (e.g. | 517 | // We lock here to prevent race conditions between two threads calling close simultaneously (e.g. |
521 | // a simultaneous relog just as a client is being closed out due to no packet ack from the old connection. | 518 | // a simultaneous relog just as a client is being closed out due to no packet ack from the old connection. |
522 | lock (CloseSyncLock) | 519 | lock (CloseSyncLock) |
523 | { | 520 | { |
524 | if (!IsActive) | 521 | // We still perform a force close inside the sync lock since this is intended to attempt close where |
522 | // there is some unidentified connection problem, not where we have issues due to deadlock | ||
523 | if (!IsActive && !force) | ||
525 | return; | 524 | return; |
526 | 525 | ||
527 | IsActive = false; | 526 | IsActive = false; |
@@ -12140,7 +12139,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
12140 | { | 12139 | { |
12141 | Kick(reason); | 12140 | Kick(reason); |
12142 | Thread.Sleep(1000); | 12141 | Thread.Sleep(1000); |
12143 | Close(); | 12142 | Disconnect(); |
12144 | } | 12143 | } |
12145 | 12144 | ||
12146 | public void Disconnect() | 12145 | public void Disconnect() |
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs index 7042c9a..fb73e1d 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs | |||
@@ -1515,7 +1515,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1515 | if (!client.IsLoggingOut) | 1515 | if (!client.IsLoggingOut) |
1516 | { | 1516 | { |
1517 | client.IsLoggingOut = true; | 1517 | client.IsLoggingOut = true; |
1518 | client.Close(false); | 1518 | client.Close(false, false); |
1519 | } | 1519 | } |
1520 | } | 1520 | } |
1521 | } | 1521 | } |