From 828e4a5b093c6a67302776137fc0bdbcfded4c9b Mon Sep 17 00:00:00 2001 From: Justin Clark-Casey (justincc) Date: Tue, 15 Nov 2011 20:26:42 +0000 Subject: 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. --- OpenSim/Region/CoreModules/Avatar/Friends/FriendsModule.cs | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'OpenSim/Region/CoreModules/Avatar') 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; using System.Collections; using System.Collections.Generic; using System.Reflection; +using System.Threading; using log4net; using Nini.Config; using Nwc.XmlRpc; @@ -856,7 +857,7 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends IClientAPI friendClient = LocateClientObject(friendID); if (friendClient != null) { - // the friend in this sim as root agent + // the friend in this sim as root agent if (online) friendClient.SendAgentOnline(new UUID[] { userID }); else @@ -913,6 +914,8 @@ namespace OpenSim.Region.CoreModules.Avatar.Friends private void RecacheFriends(IClientAPI client) { + // FIXME: Ideally, we want to avoid doing this here since it sits the EventManager.OnMakeRootAgent event + // is on the critical path for transferring an avatar from one region to another. UUID agentID = client.AgentId; lock (m_Friends) { -- cgit v1.1