diff options
author | Justin Clark-Casey (justincc) | 2012-11-15 03:04:46 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2012-11-15 03:04:46 +0000 |
commit | df4da51f04ea2900032a6bd2749039bee5338f54 (patch) | |
tree | 1435179bc3201ddaf7d73f9054398618de271f28 /OpenSim/Region | |
parent | Make PacketPool class stats pull stats instead of push stats so they can be l... (diff) | |
download | opensim-SC_OLD-df4da51f04ea2900032a6bd2749039bee5338f54.zip opensim-SC_OLD-df4da51f04ea2900032a6bd2749039bee5338f54.tar.gz opensim-SC_OLD-df4da51f04ea2900032a6bd2749039bee5338f54.tar.bz2 opensim-SC_OLD-df4da51f04ea2900032a6bd2749039bee5338f54.tar.xz |
Following on from 4f982596, launch map name requests on an async thread from LLClientView directly.
This releases the inbound packet handling thread marginally quicker and is more consistent with the other async packet handling
Diffstat (limited to 'OpenSim/Region')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 2 | ||||
-rw-r--r-- | OpenSim/Region/CoreModules/World/WorldMap/MapSearchModule.cs | 20 |
2 files changed, 9 insertions, 13 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 7382e09..c93dbfc 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -5322,7 +5322,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
5322 | AddLocalPacketHandler(PacketType.RezScript, HandleRezScript); | 5322 | AddLocalPacketHandler(PacketType.RezScript, HandleRezScript); |
5323 | AddLocalPacketHandler(PacketType.MapLayerRequest, HandleMapLayerRequest, false); | 5323 | AddLocalPacketHandler(PacketType.MapLayerRequest, HandleMapLayerRequest, false); |
5324 | AddLocalPacketHandler(PacketType.MapBlockRequest, HandleMapBlockRequest, false); | 5324 | AddLocalPacketHandler(PacketType.MapBlockRequest, HandleMapBlockRequest, false); |
5325 | AddLocalPacketHandler(PacketType.MapNameRequest, HandleMapNameRequest, false); | 5325 | AddLocalPacketHandler(PacketType.MapNameRequest, HandleMapNameRequest); |
5326 | AddLocalPacketHandler(PacketType.TeleportLandmarkRequest, HandleTeleportLandmarkRequest); | 5326 | AddLocalPacketHandler(PacketType.TeleportLandmarkRequest, HandleTeleportLandmarkRequest); |
5327 | AddLocalPacketHandler(PacketType.TeleportCancel, HandleTeleportCancel); | 5327 | AddLocalPacketHandler(PacketType.TeleportCancel, HandleTeleportCancel); |
5328 | AddLocalPacketHandler(PacketType.TeleportLocationRequest, HandleTeleportLocationRequest); | 5328 | AddLocalPacketHandler(PacketType.TeleportLocationRequest, HandleTeleportLocationRequest); |
diff --git a/OpenSim/Region/CoreModules/World/WorldMap/MapSearchModule.cs b/OpenSim/Region/CoreModules/World/WorldMap/MapSearchModule.cs index 46b190e..708a9a2 100644 --- a/OpenSim/Region/CoreModules/World/WorldMap/MapSearchModule.cs +++ b/OpenSim/Region/CoreModules/World/WorldMap/MapSearchModule.cs | |||
@@ -115,19 +115,15 @@ namespace OpenSim.Region.CoreModules.World.WorldMap | |||
115 | m_Clients.Add(remoteClient.AgentId); | 115 | m_Clients.Add(remoteClient.AgentId); |
116 | } | 116 | } |
117 | 117 | ||
118 | Util.FireAndForget(delegate | 118 | try |
119 | { | 119 | { |
120 | try | 120 | OnMapNameRequest(remoteClient, mapName, flags); |
121 | { | 121 | } |
122 | OnMapNameRequest(remoteClient, mapName, flags); | 122 | finally |
123 | } | 123 | { |
124 | finally | 124 | lock (m_Clients) |
125 | { | 125 | m_Clients.Remove(remoteClient.AgentId); |
126 | lock (m_Clients) | 126 | } |
127 | m_Clients.Remove(remoteClient.AgentId); | ||
128 | } | ||
129 | }); | ||
130 | |||
131 | } | 127 | } |
132 | 128 | ||
133 | private void OnMapNameRequest(IClientAPI remoteClient, string mapName, uint flags) | 129 | private void OnMapNameRequest(IClientAPI remoteClient, string mapName, uint flags) |