aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
authorJustin Clark-Casey (justincc)2012-11-15 03:04:46 +0000
committerJustin Clark-Casey (justincc)2012-11-15 03:04:46 +0000
commitdf4da51f04ea2900032a6bd2749039bee5338f54 (patch)
tree1435179bc3201ddaf7d73f9054398618de271f28 /OpenSim/Region
parentMake PacketPool class stats pull stats instead of push stats so they can be l... (diff)
downloadopensim-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.cs2
-rw-r--r--OpenSim/Region/CoreModules/World/WorldMap/MapSearchModule.cs20
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)