From 5d07e18980ce5969b26648332435d9f7e61b22b6 Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Thu, 22 Oct 2009 02:27:06 -0700 Subject: [PATCH] A synchronous call to the messaging server was blocking the process of promoting an agent to a root agent (logins and teleports). Changed to an async method --- .../CoreModules/Avatar/InstantMessage/PresenceModule.cs | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/OpenSim/Region/CoreModules/Avatar/InstantMessage/PresenceModule.cs b/OpenSim/Region/CoreModules/Avatar/InstantMessage/PresenceModule.cs index ad05babec3..f5ab45466c 100644 --- a/OpenSim/Region/CoreModules/Avatar/InstantMessage/PresenceModule.cs +++ b/OpenSim/Region/CoreModules/Avatar/InstantMessage/PresenceModule.cs @@ -274,8 +274,14 @@ namespace OpenSim.Region.CoreModules.Avatar.InstantMessage } m_RootAgents[agentID] = scene; } + // inform messaging server that agent changed the region - NotifyMessageServerOfAgentLocation(agentID, scene.RegionInfo.RegionID, scene.RegionInfo.RegionHandle); + Util.FireAndForget( + delegate(object o) + { + NotifyMessageServerOfAgentLocation(agentID, scene.RegionInfo.RegionID, scene.RegionInfo.RegionHandle); + } + ); } private void OnEconomyDataRequest(UUID agentID)