diff options
30 files changed, 103 insertions, 65 deletions
diff --git a/OpenSim/Framework/Communications/RestClient.cs b/OpenSim/Framework/Communications/RestClient.cs index de6fe30..72018e4 100644 --- a/OpenSim/Framework/Communications/RestClient.cs +++ b/OpenSim/Framework/Communications/RestClient.cs | |||
@@ -483,7 +483,7 @@ namespace OpenSim.Framework.Communications | |||
483 | /// In case, we are invoked asynchroneously this object will keep track of the state | 483 | /// In case, we are invoked asynchroneously this object will keep track of the state |
484 | /// </summary> | 484 | /// </summary> |
485 | AsyncResult<Stream> ar = new AsyncResult<Stream>(callback, state); | 485 | AsyncResult<Stream> ar = new AsyncResult<Stream>(callback, state); |
486 | Util.FireAndForget(RequestHelper, ar); | 486 | Util.FireAndForget(RequestHelper, ar, "RestClient.BeginRequest"); |
487 | return ar; | 487 | return ar; |
488 | } | 488 | } |
489 | 489 | ||
diff --git a/OpenSim/Framework/Servers/ServerBase.cs b/OpenSim/Framework/Servers/ServerBase.cs index 379e224..eb9fb8b 100644 --- a/OpenSim/Framework/Servers/ServerBase.cs +++ b/OpenSim/Framework/Servers/ServerBase.cs | |||
@@ -365,13 +365,21 @@ namespace OpenSim.Framework.Servers | |||
365 | { | 365 | { |
366 | List<KeyValuePair<string, int>> calls = Util.GetFireAndForgetCallsMade().ToList(); | 366 | List<KeyValuePair<string, int>> calls = Util.GetFireAndForgetCallsMade().ToList(); |
367 | calls.Sort((kvp1, kvp2) => kvp2.Value.CompareTo(kvp1.Value)); | 367 | calls.Sort((kvp1, kvp2) => kvp2.Value.CompareTo(kvp1.Value)); |
368 | int namedCallsMade = 0; | ||
368 | 369 | ||
369 | ConsoleDisplayList cdl = new ConsoleDisplayList(); | 370 | ConsoleDisplayList cdl = new ConsoleDisplayList(); |
370 | foreach (KeyValuePair<string, int> kvp in calls) | 371 | foreach (KeyValuePair<string, int> kvp in calls) |
371 | { | 372 | { |
372 | cdl.AddRow(kvp.Key, kvp.Value); | 373 | cdl.AddRow(kvp.Key, kvp.Value); |
374 | namedCallsMade += kvp.Value; | ||
373 | } | 375 | } |
374 | 376 | ||
377 | cdl.AddRow("TOTAL NAMED", namedCallsMade); | ||
378 | |||
379 | long allCallsMade = Util.TotalFireAndForgetCallsMade; | ||
380 | cdl.AddRow("TOTAL ANONYMOUS", allCallsMade - namedCallsMade); | ||
381 | cdl.AddRow("TOTAL ALL", allCallsMade); | ||
382 | |||
375 | MainConsole.Instance.Output(cdl.ToString()); | 383 | MainConsole.Instance.Output(cdl.ToString()); |
376 | } | 384 | } |
377 | 385 | ||
diff --git a/OpenSim/Framework/Util.cs b/OpenSim/Framework/Util.cs index 53bbb06..baad0b9 100644 --- a/OpenSim/Framework/Util.cs +++ b/OpenSim/Framework/Util.cs | |||
@@ -1928,11 +1928,6 @@ namespace OpenSim.Framework | |||
1928 | } | 1928 | } |
1929 | } | 1929 | } |
1930 | 1930 | ||
1931 | public static void FireAndForget(System.Threading.WaitCallback callback) | ||
1932 | { | ||
1933 | FireAndForget(callback, null, null); | ||
1934 | } | ||
1935 | |||
1936 | public static void InitThreadPool(int minThreads, int maxThreads) | 1931 | public static void InitThreadPool(int minThreads, int maxThreads) |
1937 | { | 1932 | { |
1938 | if (maxThreads < 2) | 1933 | if (maxThreads < 2) |
@@ -1977,8 +1972,7 @@ namespace OpenSim.Framework | |||
1977 | throw new NotImplementedException(); | 1972 | throw new NotImplementedException(); |
1978 | } | 1973 | } |
1979 | } | 1974 | } |
1980 | 1975 | ||
1981 | |||
1982 | /// <summary> | 1976 | /// <summary> |
1983 | /// Additional information about threads in the main thread pool. Used to time how long the | 1977 | /// Additional information about threads in the main thread pool. Used to time how long the |
1984 | /// thread has been running, and abort it if it has timed-out. | 1978 | /// thread has been running, and abort it if it has timed-out. |
@@ -2052,10 +2046,10 @@ namespace OpenSim.Framework | |||
2052 | } | 2046 | } |
2053 | } | 2047 | } |
2054 | 2048 | ||
2055 | |||
2056 | private static long nextThreadFuncNum = 0; | 2049 | private static long nextThreadFuncNum = 0; |
2057 | private static long numQueuedThreadFuncs = 0; | 2050 | private static long numQueuedThreadFuncs = 0; |
2058 | private static long numRunningThreadFuncs = 0; | 2051 | private static long numRunningThreadFuncs = 0; |
2052 | private static long numTotalThreadFuncsCalled = 0; | ||
2059 | private static Int32 threadFuncOverloadMode = 0; | 2053 | private static Int32 threadFuncOverloadMode = 0; |
2060 | 2054 | ||
2061 | // Maps (ThreadFunc number -> Thread) | 2055 | // Maps (ThreadFunc number -> Thread) |
@@ -2086,20 +2080,29 @@ namespace OpenSim.Framework | |||
2086 | } | 2080 | } |
2087 | } | 2081 | } |
2088 | 2082 | ||
2083 | public static long TotalFireAndForgetCallsMade { get { return numTotalThreadFuncsCalled; } } | ||
2084 | |||
2089 | public static Dictionary<string, int> GetFireAndForgetCallsMade() | 2085 | public static Dictionary<string, int> GetFireAndForgetCallsMade() |
2090 | { | 2086 | { |
2091 | return new Dictionary<string, int>(m_fireAndForgetCallsMade); | 2087 | return new Dictionary<string, int>(m_fireAndForgetCallsMade); |
2092 | } | 2088 | } |
2093 | 2089 | ||
2094 | private static Dictionary<string, int> m_fireAndForgetCallsMade = new Dictionary<string, int>(); | 2090 | private static Dictionary<string, int> m_fireAndForgetCallsMade = new Dictionary<string, int>(); |
2095 | 2091 | ||
2092 | public static void FireAndForget(System.Threading.WaitCallback callback) | ||
2093 | { | ||
2094 | FireAndForget(callback, null, null); | ||
2095 | } | ||
2096 | |||
2096 | public static void FireAndForget(System.Threading.WaitCallback callback, object obj) | 2097 | public static void FireAndForget(System.Threading.WaitCallback callback, object obj) |
2097 | { | 2098 | { |
2098 | FireAndForget(callback, obj, null); | 2099 | FireAndForget(callback, obj, null); |
2099 | } | 2100 | } |
2100 | 2101 | ||
2101 | public static void FireAndForget(System.Threading.WaitCallback callback, object obj, string context) | 2102 | public static void FireAndForget(System.Threading.WaitCallback callback, object obj, string context) |
2102 | { | 2103 | { |
2104 | Interlocked.Increment(ref numTotalThreadFuncsCalled); | ||
2105 | |||
2103 | if (context != null) | 2106 | if (context != null) |
2104 | { | 2107 | { |
2105 | if (!m_fireAndForgetCallsMade.ContainsKey(context)) | 2108 | if (!m_fireAndForgetCallsMade.ContainsKey(context)) |
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index c8c00c8..516327c 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -1161,7 +1161,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1161 | /// <param name="map">heightmap</param> | 1161 | /// <param name="map">heightmap</param> |
1162 | public virtual void SendLayerData(float[] map) | 1162 | public virtual void SendLayerData(float[] map) |
1163 | { | 1163 | { |
1164 | Util.FireAndForget(DoSendLayerData, m_scene.Heightmap.GetTerrainData()); | 1164 | Util.FireAndForget(DoSendLayerData, m_scene.Heightmap.GetTerrainData(), "LLClientView.DoSendLayerData"); |
1165 | } | 1165 | } |
1166 | 1166 | ||
1167 | /// <summary> | 1167 | /// <summary> |
@@ -1373,7 +1373,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1373 | /// <param name="windSpeeds">16x16 array of wind speeds</param> | 1373 | /// <param name="windSpeeds">16x16 array of wind speeds</param> |
1374 | public virtual void SendWindData(Vector2[] windSpeeds) | 1374 | public virtual void SendWindData(Vector2[] windSpeeds) |
1375 | { | 1375 | { |
1376 | Util.FireAndForget(DoSendWindData, windSpeeds); | 1376 | Util.FireAndForget(DoSendWindData, windSpeeds, "LLClientView.SendWindData"); |
1377 | } | 1377 | } |
1378 | 1378 | ||
1379 | /// <summary> | 1379 | /// <summary> |
@@ -1382,7 +1382,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1382 | /// <param name="windSpeeds">16x16 array of cloud densities</param> | 1382 | /// <param name="windSpeeds">16x16 array of cloud densities</param> |
1383 | public virtual void SendCloudData(float[] cloudDensity) | 1383 | public virtual void SendCloudData(float[] cloudDensity) |
1384 | { | 1384 | { |
1385 | Util.FireAndForget(DoSendCloudData, cloudDensity); | 1385 | Util.FireAndForget(DoSendCloudData, cloudDensity, "LLClientView.SendCloudData"); |
1386 | } | 1386 | } |
1387 | 1387 | ||
1388 | /// <summary> | 1388 | /// <summary> |
@@ -8093,7 +8093,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
8093 | { | 8093 | { |
8094 | // This requests the asset if needed | 8094 | // This requests the asset if needed |
8095 | HandleSimInventoryTransferRequestWithPermsCheck(sender, transfer); | 8095 | HandleSimInventoryTransferRequestWithPermsCheck(sender, transfer); |
8096 | }); | 8096 | }, null, "LLClientView.HandleTransferRequest"); |
8097 | |||
8097 | return true; | 8098 | return true; |
8098 | } | 8099 | } |
8099 | } | 8100 | } |
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs index b70d861..8f14806 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPClient.cs | |||
@@ -732,7 +732,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
732 | if (!m_udpServer.OqrEngine.IsRunning) | 732 | if (!m_udpServer.OqrEngine.IsRunning) |
733 | { | 733 | { |
734 | // Asynchronously run the callback | 734 | // Asynchronously run the callback |
735 | Util.FireAndForget(FireQueueEmpty, categories); | 735 | Util.FireAndForget(FireQueueEmpty, categories, "LLUDPClient.BeginFireQueueEmpty"); |
736 | } | 736 | } |
737 | else | 737 | else |
738 | { | 738 | { |
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs index aa10301..61e1d6a 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs | |||
@@ -991,7 +991,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
991 | // Fire this out on a different thread so that we don't hold up outgoing packet processing for | 991 | // Fire this out on a different thread so that we don't hold up outgoing packet processing for |
992 | // everybody else if this is being called due to an ack timeout. | 992 | // everybody else if this is being called due to an ack timeout. |
993 | // This is the same as processing as the async process of a logout request. | 993 | // This is the same as processing as the async process of a logout request. |
994 | Util.FireAndForget(o => DeactivateClientDueToTimeout(client, timeoutTicks)); | 994 | Util.FireAndForget( |
995 | o => DeactivateClientDueToTimeout(client, timeoutTicks), null, "LLUDPServer.DeactivateClientDueToTimeout"); | ||
995 | 996 | ||
996 | return; | 997 | return; |
997 | } | 998 | } |
@@ -1225,7 +1226,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1225 | // buffer. | 1226 | // buffer. |
1226 | object[] array = new object[] { new IPEndPoint(endPoint.Address, endPoint.Port), packet }; | 1227 | object[] array = new object[] { new IPEndPoint(endPoint.Address, endPoint.Port), packet }; |
1227 | 1228 | ||
1228 | Util.FireAndForget(HandleUseCircuitCode, array); | 1229 | Util.FireAndForget(HandleUseCircuitCode, array, "LLUDPServer.HandleUseCircuitCode"); |
1229 | 1230 | ||
1230 | return; | 1231 | return; |
1231 | } | 1232 | } |
@@ -1238,7 +1239,8 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
1238 | // buffer. | 1239 | // buffer. |
1239 | object[] array = new object[] { new IPEndPoint(endPoint.Address, endPoint.Port), packet }; | 1240 | object[] array = new object[] { new IPEndPoint(endPoint.Address, endPoint.Port), packet }; |
1240 | 1241 | ||
1241 | Util.FireAndForget(HandleCompleteMovementIntoRegion, array); | 1242 | Util.FireAndForget( |
1243 | HandleCompleteMovementIntoRegion, array, "LLUDPServer.HandleCompleteMovementIntoRegion"); | ||
1242 | 1244 | ||
1243 | return; | 1245 | return; |
1244 | } | 1246 | } |
diff --git a/OpenSim/Region/CoreModules/Agent/TextureSender/J2KDecoderModule.cs b/OpenSim/Region/CoreModules/Agent/TextureSender/J2KDecoderModule.cs index 5cdcab9..47dcbcd 100644 --- a/OpenSim/Region/CoreModules/Agent/TextureSender/J2KDecoderModule.cs +++ b/OpenSim/Region/CoreModules/Agent/TextureSender/J2KDecoderModule.cs | |||
@@ -167,7 +167,7 @@ namespace OpenSim.Region.CoreModules.Agent.TextureSender | |||
167 | 167 | ||
168 | // Do Decode! | 168 | // Do Decode! |
169 | if (decode) | 169 | if (decode) |
170 | Util.FireAndForget(delegate { Decode(assetID, j2kData); }); | 170 | Util.FireAndForget(delegate { Decode(assetID, j2kData); }, null, "J2KDecoderModule.BeginDecode"); |
171 | } | 171 | } |
172 | } | 172 | } |
173 | 173 | ||
diff --git a/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs b/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs index 9d6870f..5eca025 100644 --- a/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs +++ b/OpenSim/Region/CoreModules/Asset/FlotsamAssetCache.cs | |||
@@ -302,7 +302,7 @@ namespace OpenSim.Region.CoreModules.Asset | |||
302 | } | 302 | } |
303 | 303 | ||
304 | Util.FireAndForget( | 304 | Util.FireAndForget( |
305 | delegate { WriteFileCache(filename, asset); }); | 305 | delegate { WriteFileCache(filename, asset); }, null, "FlotsamAssetCache.UpdateFileCache"); |
306 | } | 306 | } |
307 | } | 307 | } |
308 | catch (Exception e) | 308 | catch (Exception e) |
diff --git a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs index d8c159f..ea7481d 100644 --- a/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/AvatarFactory/AvatarFactoryModule.cs | |||
@@ -593,7 +593,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory | |||
593 | 593 | ||
594 | if (sendTime < now) | 594 | if (sendTime < now) |
595 | { | 595 | { |
596 | Util.FireAndForget(o => SendAppearance(avatarID)); | 596 | Util.FireAndForget(o => SendAppearance(avatarID), null, "AvatarFactoryModule.SendAppearance"); |
597 | m_sendqueue.Remove(avatarID); | 597 | m_sendqueue.Remove(avatarID); |
598 | } | 598 | } |
599 | } | 599 | } |
@@ -611,7 +611,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory | |||
611 | 611 | ||
612 | if (sendTime < now) | 612 | if (sendTime < now) |
613 | { | 613 | { |
614 | Util.FireAndForget(o => SaveAppearance(avatarID)); | 614 | Util.FireAndForget(o => SaveAppearance(avatarID), null, "AvatarFactoryModule.SaveAppearance"); |
615 | m_savequeue.Remove(avatarID); | 615 | m_savequeue.Remove(avatarID); |
616 | } | 616 | } |
617 | } | 617 | } |
@@ -1038,7 +1038,7 @@ namespace OpenSim.Region.CoreModules.Avatar.AvatarFactory | |||
1038 | client.SendWearables(sp.Appearance.Wearables, sp.Appearance.Serial++); | 1038 | client.SendWearables(sp.Appearance.Wearables, sp.Appearance.Serial++); |
1039 | else | 1039 | else |
1040 | m_log.WarnFormat("[AVFACTORY]: Client_OnRequestWearables unable to find presence for {0}", client.AgentId); | 1040 | m_log.WarnFormat("[AVFACTORY]: Client_OnRequestWearables unable to find presence for {0}", client.AgentId); |
1041 | }); | 1041 | }, null, "AvatarFactoryModule.OnClientRequestWearables"); |
1042 | } | 1042 | } |
1043 | 1043 | ||
1044 | /// <summary> | 1044 | /// <summary> |
diff --git a/OpenSim/Region/CoreModules/Avatar/BakedTextures/XBakesModule.cs b/OpenSim/Region/CoreModules/Avatar/BakedTextures/XBakesModule.cs index 5725d67..5e35135 100644 --- a/OpenSim/Region/CoreModules/Avatar/BakedTextures/XBakesModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/BakedTextures/XBakesModule.cs | |||
@@ -187,7 +187,7 @@ namespace OpenSim.Region.CoreModules.Avatar.BakedTextures | |||
187 | { | 187 | { |
188 | rc.Request(reqStream, m_Auth); | 188 | rc.Request(reqStream, m_Auth); |
189 | m_log.DebugFormat("[XBakes]: stored {0} textures for user {1}", data.Length, agentId); | 189 | m_log.DebugFormat("[XBakes]: stored {0} textures for user {1}", data.Length, agentId); |
190 | } | 190 | }, null, "XBakesModule.Store" |
191 | ); | 191 | ); |
192 | } | 192 | } |
193 | } | 193 | } |
diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs index 31bcded..7ab568e 100644 --- a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs | |||
@@ -511,7 +511,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
511 | 511 | ||
512 | // Notify about this user status | 512 | // Notify about this user status |
513 | StatusNotify(friendList, agentID, online); | 513 | StatusNotify(friendList, agentID, online); |
514 | } | 514 | }, null, "FriendsModule.StatusChange" |
515 | ); | 515 | ); |
516 | } | 516 | } |
517 | } | 517 | } |
diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/HGFriendsModule.cs b/OpenSim/Region/CoreModules/Avatar/Friends/HGFriendsModule.cs index be12935..27b7376 100644 --- a/OpenSim/Region/CoreModules/Avatar/Friends/HGFriendsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Friends/HGFriendsModule.cs | |||
@@ -660,7 +660,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
660 | FriendsService.Delete(friendUUI, agentID.ToString()); | 660 | FriendsService.Delete(friendUUI, agentID.ToString()); |
661 | 661 | ||
662 | // notify the exfriend's service | 662 | // notify the exfriend's service |
663 | Util.FireAndForget(delegate { Delete(exfriendID, agentID, friendUUI); }); | 663 | Util.FireAndForget( |
664 | delegate { Delete(exfriendID, agentID, friendUUI); }, null, "HGFriendsModule.DeleteFriendshipForeignFriend"); | ||
664 | 665 | ||
665 | m_log.DebugFormat("[HGFRIENDS MODULE]: {0} terminated {1}", agentID, friendUUI); | 666 | m_log.DebugFormat("[HGFRIENDS MODULE]: {0} terminated {1}", agentID, friendUUI); |
666 | return true; | 667 | return true; |
@@ -678,7 +679,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
678 | FriendsService.Delete(agentUUI, exfriendID.ToString()); | 679 | FriendsService.Delete(agentUUI, exfriendID.ToString()); |
679 | 680 | ||
680 | // notify the agent's service? | 681 | // notify the agent's service? |
681 | Util.FireAndForget(delegate { Delete(agentID, exfriendID, agentUUI); }); | 682 | Util.FireAndForget( |
683 | delegate { Delete(agentID, exfriendID, agentUUI); }, null, "HGFriendsModule.DeleteFriendshipLocalFriend"); | ||
682 | 684 | ||
683 | m_log.DebugFormat("[HGFRIENDS MODULE]: {0} terminated {1}", agentUUI, exfriendID); | 685 | m_log.DebugFormat("[HGFRIENDS MODULE]: {0} terminated {1}", agentUUI, exfriendID); |
684 | return true; | 686 | return true; |
diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/HGMessageTransferModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/HGMessageTransferModule.cs index 6f3c80a..a1b918a 100644 --- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/HGMessageTransferModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/HGMessageTransferModule.cs | |||
@@ -213,7 +213,7 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage | |||
213 | HandleUndeliverableMessage(im, result); | 213 | HandleUndeliverableMessage(im, result); |
214 | else | 214 | else |
215 | result(success); | 215 | result(success); |
216 | }); | 216 | }, null, "HGMessageTransferModule.SendInstantMessage"); |
217 | 217 | ||
218 | return; | 218 | return; |
219 | } | 219 | } |
diff --git a/OpenSim/Region/CoreModules/Avatar/UserProfiles/UserProfileModule.cs b/OpenSim/Region/CoreModules/Avatar/UserProfiles/UserProfileModule.cs index c1795f6..546a121 100644 --- a/OpenSim/Region/CoreModules/Avatar/UserProfiles/UserProfileModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/UserProfiles/UserProfileModule.cs | |||
@@ -194,7 +194,7 @@ namespace OpenSim.Region.CoreModules.Avatar.UserProfiles | |||
194 | Util.FireAndForget(delegate | 194 | Util.FireAndForget(delegate |
195 | { | 195 | { |
196 | GetImageAssets(((IScenePresence)obj).UUID); | 196 | GetImageAssets(((IScenePresence)obj).UUID); |
197 | }); | 197 | }, null, "UserProfileModule.GetImageAssets"); |
198 | } | 198 | } |
199 | 199 | ||
200 | /// <summary> | 200 | /// <summary> |
diff --git a/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs b/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs index 0c0cdf2..72d6bac 100644 --- a/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs +++ b/OpenSim/Region/CoreModules/Framework/EntityTransfer/HGEntityTransferModule.cs | |||
@@ -169,7 +169,7 @@ namespace OpenSim.Region.CoreModules.Framework.EntityTransfer | |||
169 | AgentCircuitData aCircuit = Scene.AuthenticateHandler.GetAgentCircuitData(so.AttachedAvatar); | 169 | AgentCircuitData aCircuit = Scene.AuthenticateHandler.GetAgentCircuitData(so.AttachedAvatar); |
170 | if (aCircuit != null && (aCircuit.teleportFlags & (uint)Constants.TeleportFlags.ViaHGLogin) != 0) | 170 | if (aCircuit != null && (aCircuit.teleportFlags & (uint)Constants.TeleportFlags.ViaHGLogin) != 0) |
171 | { | 171 | { |
172 | if (aCircuit.ServiceURLs != null && aCircuit.ServiceURLs.ContainsKey("AssetServerURI")) | 172 | if (aCircuit.ServiceURLs != null && aCircuit.ServiceURLs.ContainsKey("AssetServRezerURI")) |
173 | { | 173 | { |
174 | string url = aCircuit.ServiceURLs["AssetServerURI"].ToString(); | 174 | string url = aCircuit.ServiceURLs["AssetServerURI"].ToString(); |
175 | m_log.DebugFormat("[HG ENTITY TRANSFER MODULE]: Incoming attachment {0} for HG user {1} with asset server {2}", so.Name, so.AttachedAvatar, url); | 175 | m_log.DebugFormat("[HG ENTITY TRANSFER MODULE]: Incoming attachment {0} for HG user {1} with asset server {2}", so.Name, so.AttachedAvatar, url); |
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/HGAssetBroker.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/HGAssetBroker.cs index 7695404..7fcfc74 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/HGAssetBroker.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/HGAssetBroker.cs | |||
@@ -295,7 +295,7 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Asset | |||
295 | 295 | ||
296 | if (asset != null) | 296 | if (asset != null) |
297 | { | 297 | { |
298 | Util.FireAndForget(delegate { handler(id, sender, asset); }); | 298 | Util.FireAndForget(delegate { handler(id, sender, asset); }, null, "HGAssetBroker.GotFromCache"); |
299 | return true; | 299 | return true; |
300 | } | 300 | } |
301 | 301 | ||
diff --git a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/LocalAssetServiceConnector.cs b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/LocalAssetServiceConnector.cs index 97b7559..5f34450 100644 --- a/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/LocalAssetServiceConnector.cs +++ b/OpenSim/Region/CoreModules/ServiceConnectorsOut/Asset/LocalAssetServiceConnector.cs | |||
@@ -236,7 +236,8 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Asset | |||
236 | 236 | ||
237 | if (asset != null) | 237 | if (asset != null) |
238 | { | 238 | { |
239 | Util.FireAndForget(delegate { handler(id, sender, asset); }); | 239 | Util.FireAndForget( |
240 | o => handler(id, sender, asset), null, "LocalAssetServiceConnector.GotFromCacheCallback"); | ||
240 | return true; | 241 | return true; |
241 | } | 242 | } |
242 | } | 243 | } |
@@ -249,7 +250,8 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Asset | |||
249 | // if (null == a) | 250 | // if (null == a) |
250 | // m_log.WarnFormat("[LOCAL ASSET SERVICES CONNECTOR]: Could not asynchronously find asset with id {0}", id); | 251 | // m_log.WarnFormat("[LOCAL ASSET SERVICES CONNECTOR]: Could not asynchronously find asset with id {0}", id); |
251 | 252 | ||
252 | Util.FireAndForget(delegate { handler(assetID, s, a); }); | 253 | Util.FireAndForget( |
254 | o => handler(assetID, s, a), null, "LocalAssetServiceConnector.GotFromServiceCallback"); | ||
253 | }); | 255 | }); |
254 | } | 256 | } |
255 | 257 | ||
diff --git a/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs b/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs index bfa3b9a..9db5309 100644 --- a/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs +++ b/OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs | |||
@@ -226,7 +226,10 @@ namespace OpenSim.Region.Framework.Scenes | |||
226 | // We must take a copy here since handle is acts like a reference when used in an iterator. | 226 | // We must take a copy here since handle is acts like a reference when used in an iterator. |
227 | // This leads to race conditions if directly passed to SendCloseChildAgent with more than one neighbour region. | 227 | // This leads to race conditions if directly passed to SendCloseChildAgent with more than one neighbour region. |
228 | ulong handleCopy = handle; | 228 | ulong handleCopy = handle; |
229 | Util.FireAndForget((o) => { SendCloseChildAgent(agentID, handleCopy, auth_code); }); | 229 | Util.FireAndForget( |
230 | o => SendCloseChildAgent(agentID, handleCopy, auth_code), | ||
231 | null, | ||
232 | "SceneCommunicationService.SendCloseChildAgentConnections"); | ||
230 | } | 233 | } |
231 | } | 234 | } |
232 | 235 | ||
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 9481f71..1d234e2 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -1235,7 +1235,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
1235 | string.Format("Rez attachments for {0} in {1}", Name, Scene.Name), | 1235 | string.Format("Rez attachments for {0} in {1}", Name, Scene.Name), |
1236 | null); | 1236 | null); |
1237 | else | 1237 | else |
1238 | Util.FireAndForget(o => Scene.AttachmentsModule.RezAttachments(this)); | 1238 | Util.FireAndForget( |
1239 | o => Scene.AttachmentsModule.RezAttachments(this), null, "ScenePresence.RezAttachmentsOnLogin"); | ||
1239 | } | 1240 | } |
1240 | } | 1241 | } |
1241 | else | 1242 | else |
@@ -1338,7 +1339,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
1338 | 1339 | ||
1339 | UseFakeGroupTitle = false; | 1340 | UseFakeGroupTitle = false; |
1340 | SendAvatarDataToAllClients(false); | 1341 | SendAvatarDataToAllClients(false); |
1341 | }); | 1342 | }, null, "Scenepresence.ForceViewersUpdateName"); |
1342 | } | 1343 | } |
1343 | 1344 | ||
1344 | public int GetStateSource() | 1345 | public int GetStateSource() |
@@ -3645,7 +3646,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
3645 | agentpos.CopyFrom(cadu, ControllingClient.SessionId); | 3646 | agentpos.CopyFrom(cadu, ControllingClient.SessionId); |
3646 | 3647 | ||
3647 | // Let's get this out of the update loop | 3648 | // Let's get this out of the update loop |
3648 | Util.FireAndForget(delegate { m_scene.SendOutChildAgentUpdates(agentpos, this); }); | 3649 | Util.FireAndForget( |
3650 | o => m_scene.SendOutChildAgentUpdates(agentpos, this), null, "ScenePresence.SendOutChildAgentUpdates"); | ||
3649 | } | 3651 | } |
3650 | } | 3652 | } |
3651 | 3653 | ||
@@ -4515,7 +4517,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
4515 | } | 4517 | } |
4516 | } | 4518 | } |
4517 | } | 4519 | } |
4518 | }); | 4520 | }, null, "ScenePresence.SendScriptEventToAttachments"); |
4519 | } | 4521 | } |
4520 | 4522 | ||
4521 | /// <summary> | 4523 | /// <summary> |
diff --git a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs index a6c12fd..b69676b 100644 --- a/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs +++ b/OpenSim/Region/OptionalModules/Scripting/JsonStore/JsonStoreScriptModule.cs | |||
@@ -323,7 +323,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
323 | public UUID JsonRezAtRoot(UUID hostID, UUID scriptID, string item, Vector3 pos, Vector3 vel, Quaternion rot, string param) | 323 | public UUID JsonRezAtRoot(UUID hostID, UUID scriptID, string item, Vector3 pos, Vector3 vel, Quaternion rot, string param) |
324 | { | 324 | { |
325 | UUID reqID = UUID.Random(); | 325 | UUID reqID = UUID.Random(); |
326 | Util.FireAndForget(o => DoJsonRezObject(hostID, scriptID, reqID, item, pos, vel, rot, param)); | 326 | Util.FireAndForget( |
327 | o => DoJsonRezObject(hostID, scriptID, reqID, item, pos, vel, rot, param), null, "JsonStoreScriptModule.DoJsonRezObject"); | ||
327 | return reqID; | 328 | return reqID; |
328 | } | 329 | } |
329 | 330 | ||
@@ -336,7 +337,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
336 | public UUID JsonReadNotecard(UUID hostID, UUID scriptID, UUID storeID, string path, string notecardIdentifier) | 337 | public UUID JsonReadNotecard(UUID hostID, UUID scriptID, UUID storeID, string path, string notecardIdentifier) |
337 | { | 338 | { |
338 | UUID reqID = UUID.Random(); | 339 | UUID reqID = UUID.Random(); |
339 | Util.FireAndForget(o => DoJsonReadNotecard(reqID, hostID, scriptID, storeID, path, notecardIdentifier)); | 340 | Util.FireAndForget( |
341 | o => DoJsonReadNotecard(reqID, hostID, scriptID, storeID, path, notecardIdentifier), null, "JsonStoreScriptModule.JsonReadNotecard"); | ||
340 | return reqID; | 342 | return reqID; |
341 | } | 343 | } |
342 | 344 | ||
@@ -349,7 +351,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
349 | public UUID JsonWriteNotecard(UUID hostID, UUID scriptID, UUID storeID, string path, string name) | 351 | public UUID JsonWriteNotecard(UUID hostID, UUID scriptID, UUID storeID, string path, string name) |
350 | { | 352 | { |
351 | UUID reqID = UUID.Random(); | 353 | UUID reqID = UUID.Random(); |
352 | Util.FireAndForget(delegate(object o) { DoJsonWriteNotecard(reqID,hostID,scriptID,storeID,path,name); }); | 354 | Util.FireAndForget( |
355 | o => DoJsonWriteNotecard(reqID,hostID,scriptID,storeID,path,name), null, "JsonStoreScriptModule.DoJsonWriteNotecard"); | ||
353 | return reqID; | 356 | return reqID; |
354 | } | 357 | } |
355 | 358 | ||
@@ -464,7 +467,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
464 | public UUID JsonTakeValue(UUID hostID, UUID scriptID, UUID storeID, string path) | 467 | public UUID JsonTakeValue(UUID hostID, UUID scriptID, UUID storeID, string path) |
465 | { | 468 | { |
466 | UUID reqID = UUID.Random(); | 469 | UUID reqID = UUID.Random(); |
467 | Util.FireAndForget(delegate(object o) { DoJsonTakeValue(scriptID,reqID,storeID,path,false); }); | 470 | Util.FireAndForget( |
471 | o => DoJsonTakeValue(scriptID,reqID,storeID,path,false), null, "JsonStoreScriptModule.DoJsonTakeValue"); | ||
468 | return reqID; | 472 | return reqID; |
469 | } | 473 | } |
470 | 474 | ||
@@ -472,7 +476,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
472 | public UUID JsonTakeValueJson(UUID hostID, UUID scriptID, UUID storeID, string path) | 476 | public UUID JsonTakeValueJson(UUID hostID, UUID scriptID, UUID storeID, string path) |
473 | { | 477 | { |
474 | UUID reqID = UUID.Random(); | 478 | UUID reqID = UUID.Random(); |
475 | Util.FireAndForget(delegate(object o) { DoJsonTakeValue(scriptID,reqID,storeID,path,true); }); | 479 | Util.FireAndForget( |
480 | o => DoJsonTakeValue(scriptID,reqID,storeID,path,true), null, "JsonStoreScriptModule.DoJsonTakeValueJson"); | ||
476 | return reqID; | 481 | return reqID; |
477 | } | 482 | } |
478 | 483 | ||
@@ -485,7 +490,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
485 | public UUID JsonReadValue(UUID hostID, UUID scriptID, UUID storeID, string path) | 490 | public UUID JsonReadValue(UUID hostID, UUID scriptID, UUID storeID, string path) |
486 | { | 491 | { |
487 | UUID reqID = UUID.Random(); | 492 | UUID reqID = UUID.Random(); |
488 | Util.FireAndForget(delegate(object o) { DoJsonReadValue(scriptID,reqID,storeID,path,false); }); | 493 | Util.FireAndForget( |
494 | o => DoJsonReadValue(scriptID,reqID,storeID,path,false), null, "JsonStoreScriptModule.DoJsonReadValue"); | ||
489 | return reqID; | 495 | return reqID; |
490 | } | 496 | } |
491 | 497 | ||
@@ -493,7 +499,8 @@ namespace OpenSim.Region.OptionalModules.Scripting.JsonStore | |||
493 | public UUID JsonReadValueJson(UUID hostID, UUID scriptID, UUID storeID, string path) | 499 | public UUID JsonReadValueJson(UUID hostID, UUID scriptID, UUID storeID, string path) |
494 | { | 500 | { |
495 | UUID reqID = UUID.Random(); | 501 | UUID reqID = UUID.Random(); |
496 | Util.FireAndForget(delegate(object o) { DoJsonReadValue(scriptID,reqID,storeID,path,true); }); | 502 | Util.FireAndForget( |
503 | o => DoJsonReadValue(scriptID,reqID,storeID,path,true), null, "JsonStoreScriptModule.DoJsonReadValueJson"); | ||
497 | return reqID; | 504 | return reqID; |
498 | } | 505 | } |
499 | 506 | ||
diff --git a/OpenSim/Region/OptionalModules/ViewerSupport/DynamicMenuModule.cs b/OpenSim/Region/OptionalModules/ViewerSupport/DynamicMenuModule.cs index 6e0a80a..d37369c 100644 --- a/OpenSim/Region/OptionalModules/ViewerSupport/DynamicMenuModule.cs +++ b/OpenSim/Region/OptionalModules/ViewerSupport/DynamicMenuModule.cs | |||
@@ -294,7 +294,8 @@ namespace OpenSim.Region.OptionalModules.ViewerSupport | |||
294 | for (int i = 0 ; i < selection.Count ; i++) | 294 | for (int i = 0 ; i < selection.Count ; i++) |
295 | sel.Add(selection[i].AsUInteger()); | 295 | sel.Add(selection[i].AsUInteger()); |
296 | 296 | ||
297 | Util.FireAndForget(x => { m_module.HandleMenuSelection(action, m_agentID, sel); }); | 297 | Util.FireAndForget( |
298 | x => { m_module.HandleMenuSelection(action, m_agentID, sel); }, null, "DynamicMenuModule.HandleMenuSelection"); | ||
298 | 299 | ||
299 | Encoding encoding = Encoding.UTF8; | 300 | Encoding encoding = Encoding.UTF8; |
300 | return encoding.GetBytes(OSDParser.SerializeLLSDXmlString(new OSD())); | 301 | return encoding.GetBytes(OSDParser.SerializeLLSDXmlString(new OSD())); |
diff --git a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs index e347fdc..f5a25d6 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODEPrim.cs | |||
@@ -3343,7 +3343,7 @@ Console.WriteLine(" JointCreateFixed"); | |||
3343 | RequestAssetDelegate assetProvider = _parent_scene.RequestAssetMethod; | 3343 | RequestAssetDelegate assetProvider = _parent_scene.RequestAssetMethod; |
3344 | if (assetProvider != null) | 3344 | if (assetProvider != null) |
3345 | assetProvider(_pbs.SculptTexture, MeshAssetReceived); | 3345 | assetProvider(_pbs.SculptTexture, MeshAssetReceived); |
3346 | }); | 3346 | }, null, "ODEPrim.CheckMeshAsset"); |
3347 | } | 3347 | } |
3348 | } | 3348 | } |
3349 | 3349 | ||
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index e7ba7a4..97e3eeb 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -2979,7 +2979,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
2979 | 2979 | ||
2980 | money.ObjectGiveMoney( | 2980 | money.ObjectGiveMoney( |
2981 | m_host.ParentGroup.RootPart.UUID, m_host.ParentGroup.RootPart.OwnerID, toID, amount); | 2981 | m_host.ParentGroup.RootPart.UUID, m_host.ParentGroup.RootPart.OwnerID, toID, amount); |
2982 | }); | 2982 | }, null, "LSL_Api.llGiveMoney"); |
2983 | } | 2983 | } |
2984 | 2984 | ||
2985 | public void llMakeExplosion(int particles, double scale, double vel, double lifetime, double arc, string texture, LSL_Vector offset) | 2985 | public void llMakeExplosion(int particles, double scale, double vel, double lifetime, double arc, string texture, LSL_Vector offset) |
@@ -3075,7 +3075,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3075 | } | 3075 | } |
3076 | // Variable script delay? (see (http://wiki.secondlife.com/wiki/LSL_Delay) | 3076 | // Variable script delay? (see (http://wiki.secondlife.com/wiki/LSL_Delay) |
3077 | } | 3077 | } |
3078 | }); | 3078 | }, null, "LSL_Api.llRezAtRoot"); |
3079 | 3079 | ||
3080 | //ScriptSleep((int)((groupmass * velmag) / 10)); | 3080 | //ScriptSleep((int)((groupmass * velmag) / 10)); |
3081 | ScriptSleep(100); | 3081 | ScriptSleep(100); |
@@ -3270,7 +3270,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3270 | /// </remarks> | 3270 | /// </remarks> |
3271 | public void DetachFromAvatar() | 3271 | public void DetachFromAvatar() |
3272 | { | 3272 | { |
3273 | Util.FireAndForget(DetachWrapper, m_host); | 3273 | Util.FireAndForget(DetachWrapper, m_host, "LSL_Api.DetachFromAvatar"); |
3274 | } | 3274 | } |
3275 | 3275 | ||
3276 | private void DetachWrapper(object o) | 3276 | private void DetachWrapper(object o) |
@@ -12421,7 +12421,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
12421 | new LSL_String(replydata) }, | 12421 | new LSL_String(replydata) }, |
12422 | new DetectParams[0])); | 12422 | new DetectParams[0])); |
12423 | } | 12423 | } |
12424 | }); | 12424 | }, null, "LSL_Api.llTransferLindenDollars"); |
12425 | 12425 | ||
12426 | return txn.ToString(); | 12426 | return txn.ToString(); |
12427 | } | 12427 | } |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 704ff15..10ddf14 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | |||
@@ -790,9 +790,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
790 | 790 | ||
791 | // We will launch the teleport on a new thread so that when the script threads are terminated | 791 | // We will launch the teleport on a new thread so that when the script threads are terminated |
792 | // before teleport in ScriptInstance.GetXMLState(), we don't end up aborting the one doing the teleporting. | 792 | // before teleport in ScriptInstance.GetXMLState(), we don't end up aborting the one doing the teleporting. |
793 | Util.FireAndForget(o => World.RequestTeleportLocation( | 793 | Util.FireAndForget( |
794 | presence.ControllingClient, regionName, position, | 794 | o => World.RequestTeleportLocation( |
795 | lookat, (uint)TPFlags.ViaLocation)); | 795 | presence.ControllingClient, regionName, position, |
796 | lookat, (uint)TPFlags.ViaLocation), | ||
797 | null, "OSSL_Api.TeleportAgentByRegionCoords"); | ||
796 | 798 | ||
797 | ScriptSleep(5000); | 799 | ScriptSleep(5000); |
798 | 800 | ||
@@ -836,9 +838,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
836 | 838 | ||
837 | // We will launch the teleport on a new thread so that when the script threads are terminated | 839 | // We will launch the teleport on a new thread so that when the script threads are terminated |
838 | // before teleport in ScriptInstance.GetXMLState(), we don't end up aborting the one doing the teleporting. | 840 | // before teleport in ScriptInstance.GetXMLState(), we don't end up aborting the one doing the teleporting. |
839 | Util.FireAndForget(o => World.RequestTeleportLocation( | 841 | Util.FireAndForget( |
840 | presence.ControllingClient, regionHandle, | 842 | o => World.RequestTeleportLocation( |
841 | position, lookat, (uint)TPFlags.ViaLocation)); | 843 | presence.ControllingClient, regionHandle, |
844 | position, lookat, (uint)TPFlags.ViaLocation), | ||
845 | null, "OSSL_Api.TeleportAgentByRegionName"); | ||
842 | 846 | ||
843 | ScriptSleep(5000); | 847 | ScriptSleep(5000); |
844 | 848 | ||
diff --git a/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs b/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs index da2bfeb..81c9df2 100644 --- a/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs +++ b/OpenSim/Server/Handlers/Simulation/AgentHandlers.cs | |||
@@ -182,7 +182,8 @@ namespace OpenSim.Server.Handlers.Simulation | |||
182 | if (action.Equals("release")) | 182 | if (action.Equals("release")) |
183 | ReleaseAgent(regionID, id); | 183 | ReleaseAgent(regionID, id); |
184 | else | 184 | else |
185 | Util.FireAndForget(delegate { m_SimulationService.CloseAgent(destination, id, auth_token); }); | 185 | Util.FireAndForget( |
186 | o => m_SimulationService.CloseAgent(destination, id, auth_token), null, "AgentHandler.DoAgentDelete"); | ||
186 | 187 | ||
187 | responsedata["int_response_code"] = HttpStatusCode.OK; | 188 | responsedata["int_response_code"] = HttpStatusCode.OK; |
188 | responsedata["str_response_string"] = "OpenSim agent " + id.ToString(); | 189 | responsedata["str_response_string"] = "OpenSim agent " + id.ToString(); |
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianActivityDetector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianActivityDetector.cs index 95e4bab..cd4781d 100644 --- a/OpenSim/Services/Connectors/SimianGrid/SimianActivityDetector.cs +++ b/OpenSim/Services/Connectors/SimianGrid/SimianActivityDetector.cs | |||
@@ -69,7 +69,7 @@ namespace OpenSim.Services.Connectors.SimianGrid | |||
69 | Util.FireAndForget(delegate(object o) | 69 | Util.FireAndForget(delegate(object o) |
70 | { | 70 | { |
71 | m_GridUserService.SetLastPosition(sp.UUID.ToString(), sp.ControllingClient.SessionId, sp.Scene.RegionInfo.RegionID, sp.AbsolutePosition, sp.Lookat); | 71 | m_GridUserService.SetLastPosition(sp.UUID.ToString(), sp.ControllingClient.SessionId, sp.Scene.RegionInfo.RegionID, sp.AbsolutePosition, sp.Lookat); |
72 | }); | 72 | }, null, "SimianActivityDetector.SetLastPositionOnMakeRootAgent"); |
73 | } | 73 | } |
74 | 74 | ||
75 | public void OnNewClient(IClientAPI client) | 75 | public void OnNewClient(IClientAPI client) |
@@ -94,7 +94,7 @@ namespace OpenSim.Services.Connectors.SimianGrid | |||
94 | Util.FireAndForget(delegate(object o) | 94 | Util.FireAndForget(delegate(object o) |
95 | { | 95 | { |
96 | m_GridUserService.SetLastPosition(sp.UUID.ToString(), sp.ControllingClient.SessionId, sp.Scene.RegionInfo.RegionID, sp.AbsolutePosition, sp.Lookat); | 96 | m_GridUserService.SetLastPosition(sp.UUID.ToString(), sp.ControllingClient.SessionId, sp.Scene.RegionInfo.RegionID, sp.AbsolutePosition, sp.Lookat); |
97 | }); | 97 | }, null, "SimianActivityDetector.SetLastPositionOnEnteringNewParcel"); |
98 | } | 98 | } |
99 | } | 99 | } |
100 | } \ No newline at end of file | 100 | } \ No newline at end of file |
diff --git a/OpenSim/Services/Connectors/SimianGrid/SimianAssetServiceConnector.cs b/OpenSim/Services/Connectors/SimianGrid/SimianAssetServiceConnector.cs index 01cbf91..9ad4a7a 100644 --- a/OpenSim/Services/Connectors/SimianGrid/SimianAssetServiceConnector.cs +++ b/OpenSim/Services/Connectors/SimianGrid/SimianAssetServiceConnector.cs | |||
@@ -225,7 +225,7 @@ namespace OpenSim.Services.Connectors.SimianGrid | |||
225 | { | 225 | { |
226 | AssetBase asset = SimianGetOperation(id); | 226 | AssetBase asset = SimianGetOperation(id); |
227 | handler(id, sender, asset); | 227 | handler(id, sender, asset); |
228 | } | 228 | }, null, "SimianAssetServiceConnector.GetFromService" |
229 | ); | 229 | ); |
230 | 230 | ||
231 | return true; | 231 | return true; |
diff --git a/OpenSim/Services/HypergridService/HGFriendsService.cs b/OpenSim/Services/HypergridService/HGFriendsService.cs index a8bcfb2..6e35a88 100644 --- a/OpenSim/Services/HypergridService/HGFriendsService.cs +++ b/OpenSim/Services/HypergridService/HGFriendsService.cs | |||
@@ -198,7 +198,8 @@ namespace OpenSim.Services.HypergridService | |||
198 | // So let's send back the call, but start a thread to continue | 198 | // So let's send back the call, but start a thread to continue |
199 | // with the verification and the actual action. | 199 | // with the verification and the actual action. |
200 | 200 | ||
201 | Util.FireAndForget(delegate { ProcessFriendshipOffered(fromID, fromName, toID, message); }); | 201 | Util.FireAndForget( |
202 | o => ProcessFriendshipOffered(fromID, fromName, toID, message), null, "HGFriendsService.ProcessFriendshipOffered"); | ||
202 | 203 | ||
203 | return true; | 204 | return true; |
204 | } | 205 | } |
diff --git a/OpenSim/Services/MapImageService/MapImageService.cs b/OpenSim/Services/MapImageService/MapImageService.cs index c07e034..a816411 100644 --- a/OpenSim/Services/MapImageService/MapImageService.cs +++ b/OpenSim/Services/MapImageService/MapImageService.cs | |||
@@ -166,7 +166,8 @@ namespace OpenSim.Services.MapImageService | |||
166 | // m_log.DebugFormat("{0} UpdateMultiResolutionFilesAsync: scheduling update for <{1},{2}>", LogHeader, x, y); | 166 | // m_log.DebugFormat("{0} UpdateMultiResolutionFilesAsync: scheduling update for <{1},{2}>", LogHeader, x, y); |
167 | multiRezToBuild.Enqueue(new mapToMultiRez(x, y)); | 167 | multiRezToBuild.Enqueue(new mapToMultiRez(x, y)); |
168 | if (multiRezToBuild.Count == 1) | 168 | if (multiRezToBuild.Count == 1) |
169 | Util.FireAndForget(DoUpdateMultiResolutionFilesAsync); | 169 | Util.FireAndForget( |
170 | DoUpdateMultiResolutionFilesAsync, null, "MapImageService.DoUpdateMultiResolutionFilesAsync"); | ||
170 | } | 171 | } |
171 | 172 | ||
172 | return true; | 173 | return true; |
diff --git a/OpenSim/Tests/Stress/VectorRenderModuleStressTests.cs b/OpenSim/Tests/Stress/VectorRenderModuleStressTests.cs index 9b3cc93..0ab407e 100644 --- a/OpenSim/Tests/Stress/VectorRenderModuleStressTests.cs +++ b/OpenSim/Tests/Stress/VectorRenderModuleStressTests.cs | |||
@@ -78,7 +78,7 @@ namespace OpenSim.Tests.Stress | |||
78 | Drawer d = new Drawer(this, i); | 78 | Drawer d = new Drawer(this, i); |
79 | drawers.Add(d); | 79 | drawers.Add(d); |
80 | Console.WriteLine("Starting drawer {0}", i); | 80 | Console.WriteLine("Starting drawer {0}", i); |
81 | Util.FireAndForget(o => d.Draw()); | 81 | Util.FireAndForget(o => d.Draw(), null, "VectorRenderModuleStressTests.TestConcurrentRepeatedDraw"); |
82 | } | 82 | } |
83 | 83 | ||
84 | Thread.Sleep(10 * 60 * 1000); | 84 | Thread.Sleep(10 * 60 * 1000); |