aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs13
1 files changed, 8 insertions, 5 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs b/OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs
index 3f7ca2b..f143c32 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs
@@ -208,9 +208,12 @@ namespace OpenMetaverse
208 { 208 {
209 UDPPacketBuffer buf; 209 UDPPacketBuffer buf;
210 210
211 if (UsePools) 211 // FIXME: Disabled for now as this causes issues with reused packet objects interfering with each other
212 buf = Pool.GetObject(); 212 // on Windows with m_asyncPacketHandling = true, though this has not been seen on Linux.
213 else 213 // Possibly some unexpected issue with fetching UDP data concurrently with multiple threads. Requires more investigation.
214// if (UsePools)
215// buf = Pool.GetObject();
216// else
214 buf = new UDPPacketBuffer(); 217 buf = new UDPPacketBuffer();
215 218
216 if (IsRunningInbound) 219 if (IsRunningInbound)
@@ -291,8 +294,8 @@ namespace OpenMetaverse
291 catch (ObjectDisposedException) { } 294 catch (ObjectDisposedException) { }
292 finally 295 finally
293 { 296 {
294 if (UsePools) 297// if (UsePools)
295 Pool.ReturnObject(buffer); 298// Pool.ReturnObject(buffer);
296 299
297 // Synchronous mode waits until the packet callback completes 300 // Synchronous mode waits until the packet callback completes
298 // before starting the receive to fetch another packet 301 // before starting the receive to fetch another packet