aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs19
1 files changed, 11 insertions, 8 deletions
diff --git a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
index a9f4b2c..734471e 100644
--- a/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
+++ b/OpenSim/Region/ClientStack/LindenUDP/LLUDPServer.cs
@@ -187,14 +187,9 @@ namespace OpenSim.Region.ClientStack.LindenUDP
187 187
188 base.Start(m_recvBufferSize, m_asyncPacketHandling); 188 base.Start(m_recvBufferSize, m_asyncPacketHandling);
189 189
190 // Start the incoming packet processing thread 190 // Start the packet processing threads
191 Thread incomingThread = new Thread(IncomingPacketHandler); 191 Watchdog.StartThread(IncomingPacketHandler, "Incoming Packets (" + m_scene.RegionInfo.RegionName + ")", ThreadPriority.Normal, false);
192 incomingThread.Name = "Incoming Packets (" + m_scene.RegionInfo.RegionName + ")"; 192 Watchdog.StartThread(OutgoingPacketHandler, "Outgoing Packets (" + m_scene.RegionInfo.RegionName + ")", ThreadPriority.Normal, false);
193 incomingThread.Start();
194
195 Thread outgoingThread = new Thread(OutgoingPacketHandler);
196 outgoingThread.Name = "Outgoing Packets (" + m_scene.RegionInfo.RegionName + ")";
197 outgoingThread.Start();
198 } 193 }
199 194
200 public new void Stop() 195 public new void Stop()
@@ -775,11 +770,15 @@ namespace OpenSim.Region.ClientStack.LindenUDP
775 { 770 {
776 m_log.Error("[LLUDPSERVER]: Error in the incoming packet handler loop: " + ex.Message, ex); 771 m_log.Error("[LLUDPSERVER]: Error in the incoming packet handler loop: " + ex.Message, ex);
777 } 772 }
773
774 Watchdog.UpdateThread();
778 } 775 }
779 776
780 if (packetInbox.Count > 0) 777 if (packetInbox.Count > 0)
781 m_log.Warn("[LLUDPSERVER]: IncomingPacketHandler is shutting down, dropping " + packetInbox.Count + " packets"); 778 m_log.Warn("[LLUDPSERVER]: IncomingPacketHandler is shutting down, dropping " + packetInbox.Count + " packets");
782 packetInbox.Clear(); 779 packetInbox.Clear();
780
781 Watchdog.RemoveThread();
783 } 782 }
784 783
785 private void OutgoingPacketHandler() 784 private void OutgoingPacketHandler()
@@ -842,12 +841,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP
842 // token bucket could get more tokens 841 // token bucket could get more tokens
843 if (!m_packetSent) 842 if (!m_packetSent)
844 Thread.Sleep((int)TickCountResolution); 843 Thread.Sleep((int)TickCountResolution);
844
845 Watchdog.UpdateThread();
845 } 846 }
846 catch (Exception ex) 847 catch (Exception ex)
847 { 848 {
848 m_log.Error("[LLUDPSERVER]: OutgoingPacketHandler loop threw an exception: " + ex.Message, ex); 849 m_log.Error("[LLUDPSERVER]: OutgoingPacketHandler loop threw an exception: " + ex.Message, ex);
849 } 850 }
850 } 851 }
852
853 Watchdog.RemoveThread();
851 } 854 }
852 855
853 private void ClientOutgoingPacketHandler(IClientAPI client) 856 private void ClientOutgoingPacketHandler(IClientAPI client)