Add locking on m_primSyncInfoLock in InitPropertiesBySync and InitPropertiesSyncInfoFromOSDMap.
parent
f8bf6c2cc4
commit
eeb09f33e3
|
@ -5190,6 +5190,8 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
|||
else
|
||||
initPrimProperties = FullSetPrimProperties;
|
||||
|
||||
lock (m_primSyncInfoLock)
|
||||
{
|
||||
foreach (SceneObjectPartSyncProperties property in initPrimProperties)
|
||||
{
|
||||
Object initValue = GetSOPPropertyValue(part, property);
|
||||
|
@ -5197,6 +5199,7 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
|||
m_propertiesSyncInfo.Add(property, syncInfo);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Decode PropertySyncInfo for each property and insert into m_propertiesSyncInfo.
|
||||
|
@ -5204,6 +5207,8 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
|||
/// </summary>
|
||||
/// <param name="primSyncInfoData"></param>
|
||||
private void InitPropertiesSyncInfoFromOSDMap(OSDMap primSyncInfoData)
|
||||
{
|
||||
lock (m_primSyncInfoLock)
|
||||
{
|
||||
m_propertiesSyncInfo.Clear();
|
||||
foreach (SceneObjectPartSyncProperties property in FullSetPrimProperties)
|
||||
|
@ -5220,6 +5225,7 @@ namespace OpenSim.Region.CoreModules.RegionSync.RegionSyncModule
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Assumption: the caller already locks the access lock, and no need to lock here
|
||||
private bool CompareHashedValue_UpdateByLocal(SceneObjectPart part, SceneObjectPartSyncProperties property, long lastUpdateTS, string syncID)
|
||||
|
|
Loading…
Reference in New Issue