aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/Linden/UDP
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden/UDP')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs21
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs13
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/Tests/LLImageManagerTests.cs2
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/Tests/PacketHandlerTests.cs2
4 files changed, 17 insertions, 21 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index 0a865ab..6428b86 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -6600,19 +6600,10 @@ namespace OpenSim.Region.ClientStack.LindenUDP
6600 #endregion 6600 #endregion
6601 6601
6602 AgentRequestSit handlerAgentRequestSit = OnAgentRequestSit; 6602 AgentRequestSit handlerAgentRequestSit = OnAgentRequestSit;
6603 if (handlerAgentRequestSit != null)
6604 if (!(agentRequestSit.AgentData == null
6605 || agentRequestSit.TargetObject == null
6606 || agentRequestSit.TargetObject.TargetID == null
6607 || agentRequestSit.TargetObject.Offset == null))
6608 {
6609 var sp = m_scene.GetScenePresence(agentRequestSit.AgentData.AgentID);
6610 if (sp == null || sp.ParentID != 0) // ignore packet if agent is already sitting
6611 return true;
6612 6603
6613 handlerAgentRequestSit(this, agentRequestSit.AgentData.AgentID, 6604 if (handlerAgentRequestSit != null)
6614 agentRequestSit.TargetObject.TargetID, agentRequestSit.TargetObject.Offset); 6605 handlerAgentRequestSit(this, agentRequestSit.AgentData.AgentID,
6615 } 6606 agentRequestSit.TargetObject.TargetID, agentRequestSit.TargetObject.Offset);
6616 } 6607 }
6617 return true; 6608 return true;
6618 } 6609 }
@@ -12267,11 +12258,13 @@ namespace OpenSim.Region.ClientStack.LindenUDP
12267 if (logPacket) 12258 if (logPacket)
12268 m_log.DebugFormat( 12259 m_log.DebugFormat(
12269 "[CLIENT]: PACKET IN from {0} ({1}) in {2} - {3}", 12260 "[CLIENT]: PACKET IN from {0} ({1}) in {2} - {3}",
12270 Name, SceneAgent.IsChildAgent ? "child" : "root ", m_scene.RegionInfo.RegionName, packet.Type); 12261 Name, SceneAgent.IsChildAgent ? "child" : "root ", Scene.Name, packet.Type);
12271 } 12262 }
12272 12263
12273 if (!ProcessPacketMethod(packet)) 12264 if (!ProcessPacketMethod(packet))
12274 m_log.Warn("[CLIENT]: unhandled packet " + packet.Type); 12265 m_log.WarnFormat(
12266 "[CLIENT]: Unhandled packet {0} from {1} ({2}) in {3}. Ignoring.",
12267 packet.Type, Name, SceneAgent.IsChildAgent ? "child" : "root ", Scene.Name);
12275 } 12268 }
12276 12269
12277 private static PrimitiveBaseShape GetShapeFromAddPacket(ObjectAddPacket addPacket) 12270 private static PrimitiveBaseShape GetShapeFromAddPacket(ObjectAddPacket addPacket)
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs b/OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs
index 2aeb4cc..7035e38 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs
@@ -204,9 +204,12 @@ namespace OpenMetaverse
204 { 204 {
205 UDPPacketBuffer buf; 205 UDPPacketBuffer buf;
206 206
207 if (UsePools) 207 // FIXME: Disabled for now as this causes issues with reused packet objects interfering with each other
208 buf = Pool.GetObject(); 208 // on Windows with m_asyncPacketHandling = true, though this has not been seen on Linux.
209 else 209 // Possibly some unexpected issue with fetching UDP data concurrently with multiple threads. Requires more investigation.
210// if (UsePools)
211// buf = Pool.GetObject();
212// else
210 buf = new UDPPacketBuffer(); 213 buf = new UDPPacketBuffer();
211 214
212 if (IsRunningInbound) 215 if (IsRunningInbound)
@@ -287,8 +290,8 @@ namespace OpenMetaverse
287 catch (ObjectDisposedException) { } 290 catch (ObjectDisposedException) { }
288 finally 291 finally
289 { 292 {
290 if (UsePools) 293// if (UsePools)
291 Pool.ReturnObject(buffer); 294// Pool.ReturnObject(buffer);
292 295
293 // Synchronous mode waits until the packet callback completes 296 // Synchronous mode waits until the packet callback completes
294 // before starting the receive to fetch another packet 297 // before starting the receive to fetch another packet
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/Tests/LLImageManagerTests.cs b/OpenSim/Region/ClientStack/Linden/UDP/Tests/LLImageManagerTests.cs
index 5fcf376..7d9f581 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/Tests/LLImageManagerTests.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/Tests/LLImageManagerTests.cs
@@ -43,7 +43,7 @@ using OpenSim.Tests.Common.Mock;
43namespace OpenSim.Region.ClientStack.LindenUDP.Tests 43namespace OpenSim.Region.ClientStack.LindenUDP.Tests
44{ 44{
45 [TestFixture] 45 [TestFixture]
46 public class LLImageManagerTests 46 public class LLImageManagerTests : OpenSimTestCase
47 { 47 {
48 private AssetBase m_testImageAsset; 48 private AssetBase m_testImageAsset;
49 private Scene scene; 49 private Scene scene;
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/Tests/PacketHandlerTests.cs b/OpenSim/Region/ClientStack/Linden/UDP/Tests/PacketHandlerTests.cs
index 0f88ec6..5f73a94 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/Tests/PacketHandlerTests.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/Tests/PacketHandlerTests.cs
@@ -39,7 +39,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP.Tests
39 /// Tests for the LL packet handler 39 /// Tests for the LL packet handler
40 /// </summary> 40 /// </summary>
41 [TestFixture] 41 [TestFixture]
42 public class PacketHandlerTests 42 public class PacketHandlerTests : OpenSimTestCase
43 { 43 {
44// [Test] 44// [Test]
45// /// <summary> 45// /// <summary>