diff options
author | UbitUmarov | 2015-12-09 22:57:13 +0000 |
---|---|---|
committer | UbitUmarov | 2015-12-09 22:57:13 +0000 |
commit | bdab95f1d23ee3286be168d8cd1ffd691398e8ba (patch) | |
tree | 249fb14579366aa863020794b8a196fb16f3d366 /OpenSim | |
parent | disable useless and totally wrong incoming Pools (diff) | |
download | opensim-SC-bdab95f1d23ee3286be168d8cd1ffd691398e8ba.zip opensim-SC-bdab95f1d23ee3286be168d8cd1ffd691398e8ba.tar.gz opensim-SC-bdab95f1d23ee3286be168d8cd1ffd691398e8ba.tar.bz2 opensim-SC-bdab95f1d23ee3286be168d8cd1ffd691398e8ba.tar.xz |
dont try to process packets for deleted clients
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs | 62 |
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 | } |