diff options
author | Justin Clark-Casey (justincc) | 2011-11-15 20:26:42 +0000 |
---|---|---|
committer | Justin Clark-Casey (justincc) | 2011-11-15 20:26:42 +0000 |
commit | 828e4a5b093c6a67302776137fc0bdbcfded4c9b (patch) | |
tree | 2e23acc14ca786cb9f5484004222e03829bdfc60 /OpenSim/Region/CoreModules/Avatar/Friends | |
parent | Instead of having scene add/remove collision events directly to the OdeScene ... (diff) | |
download | opensim-SC_OLD-828e4a5b093c6a67302776137fc0bdbcfded4c9b.zip opensim-SC_OLD-828e4a5b093c6a67302776137fc0bdbcfded4c9b.tar.gz opensim-SC_OLD-828e4a5b093c6a67302776137fc0bdbcfded4c9b.tar.bz2 opensim-SC_OLD-828e4a5b093c6a67302776137fc0bdbcfded4c9b.tar.xz |
Add comments about trying to avoid synchronous work off the EventManager.OnMakeRootAgent event since this is on the critical path for transfer of avatars from one region to another.
Diffstat (limited to 'OpenSim/Region/CoreModules/Avatar/Friends')
-rw-r--r-- | OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs index 21640cf..c266fe5 100644 --- a/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs | |||
@@ -29,6 +29,7 @@ using System; | |||
29 | using System.Collections; | 29 | using System.Collections; |
30 | using System.Collections.Generic; | 30 | using System.Collections.Generic; |
31 | using System.Reflection; | 31 | using System.Reflection; |
32 | using System.Threading; | ||
32 | using log4net; | 33 | using log4net; |
33 | using Nini.Config; | 34 | using Nini.Config; |
34 | using Nwc.XmlRpc; | 35 | using Nwc.XmlRpc; |
@@ -856,7 +857,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
856 | IClientAPI friendClient = LocateClientObject(friendID); | 857 | IClientAPI friendClient = LocateClientObject(friendID); |
857 | if (friendClient != null) | 858 | if (friendClient != null) |
858 | { | 859 | { |
859 | // the friend in this sim as root agent | 860 | // the friend in this sim as root agent |
860 | if (online) | 861 | if (online) |
861 | friendClient.SendAgentOnline(new UUID[] { userID }); | 862 | friendClient.SendAgentOnline(new UUID[] { userID }); |
862 | else | 863 | else |
@@ -913,6 +914,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends | |||
913 | 914 | ||
914 | private void RecacheFriends(IClientAPI client) | 915 | private void RecacheFriends(IClientAPI client) |
915 | { | 916 | { |
917 | // FIXME: Ideally, we want to avoid doing this here since it sits the EventManager.OnMakeRootAgent event | ||
918 | // is on the critical path for transferring an avatar from one region to another. | ||
916 | UUID agentID = client.AgentId; | 919 | UUID agentID = client.AgentId; |
917 | lock (m_Friends) | 920 | lock (m_Friends) |
918 | { | 921 | { |