aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorUbitUmarov2014-10-13 13:17:48 +0100
committerUbitUmarov2014-10-13 13:17:48 +0100
commit8c41271b3312f2a02608ffc41b220f7fb018d6ad (patch)
treef39e6d86db7f489745df7ce7c9d1626c0fe80b5f
parenton util thread pool reduce the min number of threads, increase the (diff)
downloadopensim-SC_OLD-8c41271b3312f2a02608ffc41b220f7fb018d6ad.zip
opensim-SC_OLD-8c41271b3312f2a02608ffc41b220f7fb018d6ad.tar.gz
opensim-SC_OLD-8c41271b3312f2a02608ffc41b220f7fb018d6ad.tar.bz2
opensim-SC_OLD-8c41271b3312f2a02608ffc41b220f7fb018d6ad.tar.xz
*TEST* send udp sync. Stop uncontroled and hidden use of IO threads.
Testing this may require several people.
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs3
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs18
2 files changed, 19 insertions, 2 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
index 99e7aba..ac4a877 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
@@ -1305,7 +1305,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP
1305 PacketsSentCount++; 1305 PacketsSentCount++;
1306 1306
1307 // Put the UDP payload on the wire 1307 // Put the UDP payload on the wire
1308 AsyncBeginSend(buffer); 1308 //AsyncBeginSend(buffer);
1309 SyncSend(buffer);
1309 1310
1310 // Keep track of when this packet was sent out (right now) 1311 // Keep track of when this packet was sent out (right now)
1311 outgoingPacket.TickCount = Environment.TickCount & Int32.MaxValue; 1312 outgoingPacket.TickCount = Environment.TickCount & Int32.MaxValue;
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs b/OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs
index 881e768..1d76c14 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/OpenSimUDPBase.cs
@@ -375,12 +375,28 @@ namespace OpenMetaverse
375 375
376 // Synchronous mode waits until the packet callback completes 376 // Synchronous mode waits until the packet callback completes
377 // before starting the receive to fetch another packet 377 // before starting the receive to fetch another packet
378 if (!m_asyncPacketHandling) 378// if (!m_asyncPacketHandling)
379 AsyncBeginReceive(); 379 AsyncBeginReceive();
380 } 380 }
381 } 381 }
382 } 382 }
383 383
384 public void SyncSend(UDPPacketBuffer buf)
385 {
386 try
387 {
388 m_udpSocket.SendTo(
389 buf.Data,
390 0,
391 buf.DataLength,
392 SocketFlags.None,
393 buf.RemoteEndPoint
394 );
395 }
396 catch (SocketException) { }
397 catch (ObjectDisposedException) { }
398 }
399
384 public void AsyncBeginSend(UDPPacketBuffer buf) 400 public void AsyncBeginSend(UDPPacketBuffer buf)
385 { 401 {
386// if (IsRunningOutbound) 402// if (IsRunningOutbound)