aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorUbitUmarov2015-12-09 22:57:13 +0000
committerUbitUmarov2015-12-09 22:57:13 +0000
commitbdab95f1d23ee3286be168d8cd1ffd691398e8ba (patch)
tree249fb14579366aa863020794b8a196fb16f3d366
parentdisable useless and totally wrong incoming Pools (diff)
downloadopensim-SC_OLD-bdab95f1d23ee3286be168d8cd1ffd691398e8ba.zip
opensim-SC_OLD-bdab95f1d23ee3286be168d8cd1ffd691398e8ba.tar.gz
opensim-SC_OLD-bdab95f1d23ee3286be168d8cd1ffd691398e8ba.tar.bz2
opensim-SC_OLD-bdab95f1d23ee3286be168d8cd1ffd691398e8ba.tar.xz
dont try to process packets for deleted clients
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs62
1 files changed, 28 insertions, 34 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
index 6714012..2dc4e1e 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
@@ -2301,41 +2301,35 @@ namespace OpenSim.Region.ClientStack.LindenUDP
2301 Packet packet = incomingPacket.Packet; 2301 Packet packet = incomingPacket.Packet;
2302 LLClientView client = incomingPacket.Client; 2302 LLClientView client = incomingPacket.Client;
2303 2303
2304// if (client.IsActive) 2304 if(!client.IsActive)
2305// { 2305 return;
2306 m_currentIncomingClient = client;
2307 2306
2308 try 2307 m_currentIncomingClient = client;
2309 { 2308
2310 // Process this packet 2309 try
2311 client.ProcessInPacket(packet); 2310 {
2312 } 2311 // Process this packet
2313 catch (ThreadAbortException) 2312 client.ProcessInPacket(packet);
2314 { 2313 }
2315 // If something is trying to abort the packet processing thread, take that as a hint that it's time to shut down 2314 catch(ThreadAbortException)
2316 m_log.Info("[LLUDPSERVER]: Caught a thread abort, shutting down the LLUDP server"); 2315 {
2317 Stop(); 2316 // If something is trying to abort the packet processing thread, take that as a hint that it's time to shut down
2318 } 2317 m_log.Info("[LLUDPSERVER]: Caught a thread abort, shutting down the LLUDP server");
2319 catch (Exception e) 2318 Stop();
2320 { 2319 }
2321 // Don't let a failure in an individual client thread crash the whole sim. 2320 catch(Exception e)
2322 m_log.Error( 2321 {
2323 string.Format( 2322 // Don't let a failure in an individual client thread crash the whole sim.
2324 "[LLUDPSERVER]: Client packet handler for {0} for packet {1} threw ", 2323 m_log.Error(
2325 client.Name, packet.Type), 2324 string.Format(
2326 e); 2325 "[LLUDPSERVER]: Client packet handler for {0} for packet {1} threw ",
2327 } 2326 client.Name,packet.Type),
2328 finally 2327 e);
2329 { 2328 }
2330 m_currentIncomingClient = null; 2329 finally
2331 } 2330 {
2332// } 2331 m_currentIncomingClient = null;
2333// else 2332 }
2334// {
2335// m_log.DebugFormat(
2336// "[LLUDPSERVER]: Dropped incoming {0} for dead client {1} in {2}",
2337// packet.Type, client.Name, m_scene.RegionInfo.RegionName);
2338// }
2339 2333
2340 IncomingPacketsProcessed++; 2334 IncomingPacketsProcessed++;
2341 } 2335 }