mirror of
https://github.com/opensim/opensim.git
synced 2026-08-11 03:45:35 +08:00
* Lock timers when Calling Start() and Stop() when the Thread Context is murky. This affects Mono only.
This commit is contained in:
@@ -78,7 +78,8 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
bool permissionToDelete)
|
||||
{
|
||||
if (Enabled)
|
||||
m_inventoryTicker.Stop();
|
||||
lock (m_inventoryTicker)
|
||||
m_inventoryTicker.Stop();
|
||||
|
||||
lock (m_inventoryDeletes)
|
||||
{
|
||||
@@ -93,7 +94,8 @@ namespace OpenSim.Region.Framework.Scenes
|
||||
}
|
||||
|
||||
if (Enabled)
|
||||
m_inventoryTicker.Start();
|
||||
lock (m_inventoryTicker)
|
||||
m_inventoryTicker.Start();
|
||||
|
||||
// Visually remove it, even if it isnt really gone yet. This means that if we crash before the object
|
||||
// has gone to inventory, it will reappear in the region again on restart instead of being lost.
|
||||
|
||||
@@ -3762,6 +3762,8 @@ if (m_shape != null) {
|
||||
lPos = AbsolutePosition;
|
||||
}
|
||||
|
||||
// Causes this thread to dig into the Client Thread Data.
|
||||
// Remember your locking here!
|
||||
remoteClient.SendPrimTerseUpdate(m_regionHandle,
|
||||
(ushort)(m_parentGroup.GetTimeDilation() *
|
||||
(float)ushort.MaxValue), LocalId, lPos,
|
||||
|
||||
Reference in New Issue
Block a user