Added lock(m_syncRoot) in handling NewAvatar messages, so that adding/removing
from RemoveAvatars list are serialized.dsg
parent
ee7b965bf9
commit
fd99eea0af
|
@ -352,17 +352,25 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
||||||
}
|
}
|
||||||
|
|
||||||
RegionSyncAvatar av = new RegionSyncAvatar(m_scene, agentID, first, last, startPos);
|
RegionSyncAvatar av = new RegionSyncAvatar(m_scene, agentID, first, last, startPos);
|
||||||
m_remoteAvatars.Add(agentID, av);
|
lock (m_syncRoot)
|
||||||
//m_scene.AddNewClient(av);
|
|
||||||
m_scene.AddNewClient2(av, true, false);
|
|
||||||
m_scene.TryGetScenePresence(agentID, out sp);
|
|
||||||
if (sp == null)
|
|
||||||
{
|
{
|
||||||
m_log.ErrorFormat("{0} Could not get newly added scene presence.", LogHeader());
|
Dictionary<UUID, RegionSyncAvatar> newremotes = new Dictionary<UUID, RegionSyncAvatar>(RemoteAvatars);
|
||||||
}
|
// Add to list of remote avatars
|
||||||
else
|
newremotes.Add(agentID, av);
|
||||||
{
|
m_remoteAvatars = newremotes;
|
||||||
sp.IsSyncedAvatar = true;
|
|
||||||
|
//m_remoteAvatars.Add(agentID, av);
|
||||||
|
//m_scene.AddNewClient(av);
|
||||||
|
m_scene.AddNewClient2(av, true, false);
|
||||||
|
m_scene.TryGetScenePresence(agentID, out sp);
|
||||||
|
if (sp == null)
|
||||||
|
{
|
||||||
|
m_log.ErrorFormat("{0} Could not get newly added scene presence.", LogHeader());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
sp.IsSyncedAvatar = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
//RegionSyncMessage.HandlerDebug(LogHeader(), msg, String.Format("Added new remote avatar \"{0}\" ({1})", first + " " + last, agentID));
|
//RegionSyncMessage.HandlerDebug(LogHeader(), msg, String.Format("Added new remote avatar \"{0}\" ({1})", first + " " + last, agentID));
|
||||||
RegionSyncMessage.HandleSuccess(LogHeader(), msg, String.Format("Added new remote avatar \"{0}\" ({1})", first + " " + last, agentID));
|
RegionSyncMessage.HandleSuccess(LogHeader(), msg, String.Format("Added new remote avatar \"{0}\" ({1})", first + " " + last, agentID));
|
||||||
|
|
Loading…
Reference in New Issue