Next OSG test. Don't remove app domains if they contain running threads.
parent
20e6b7a320
commit
f831a1778b
|
@ -277,7 +277,7 @@ namespace OpenSim.Region.ScriptEngine.XEngine
|
||||||
// Clear the event queue and abort the instance thread
|
// Clear the event queue and abort the instance thread
|
||||||
//
|
//
|
||||||
instance.ClearQueue();
|
instance.ClearQueue();
|
||||||
instance.Stop(0);
|
bool stopped = instance.Stop(0);
|
||||||
|
|
||||||
// Release events, timer, etc
|
// Release events, timer, etc
|
||||||
//
|
//
|
||||||
|
@ -287,6 +287,7 @@ namespace OpenSim.Region.ScriptEngine.XEngine
|
||||||
// Must be done explicitly because they have infinite
|
// Must be done explicitly because they have infinite
|
||||||
// lifetime
|
// lifetime
|
||||||
//
|
//
|
||||||
|
if (stopped)
|
||||||
m_DomainScripts[instance.AppDomain].Remove(instance.ItemID);
|
m_DomainScripts[instance.AppDomain].Remove(instance.ItemID);
|
||||||
if (m_DomainScripts[instance.AppDomain].Count == 0)
|
if (m_DomainScripts[instance.AppDomain].Count == 0)
|
||||||
{
|
{
|
||||||
|
@ -804,7 +805,7 @@ namespace OpenSim.Region.ScriptEngine.XEngine
|
||||||
m_Scripts.Remove(itemID);
|
m_Scripts.Remove(itemID);
|
||||||
|
|
||||||
instance.ClearQueue();
|
instance.ClearQueue();
|
||||||
instance.Stop(0);
|
bool stopped = instance.Stop(0);
|
||||||
|
|
||||||
// bool objectRemoved = false;
|
// bool objectRemoved = false;
|
||||||
|
|
||||||
|
@ -829,6 +830,7 @@ namespace OpenSim.Region.ScriptEngine.XEngine
|
||||||
instance.RemoveState();
|
instance.RemoveState();
|
||||||
instance.DestroyScriptInstance();
|
instance.DestroyScriptInstance();
|
||||||
|
|
||||||
|
if (stopped)
|
||||||
m_DomainScripts[instance.AppDomain].Remove(instance.ItemID);
|
m_DomainScripts[instance.AppDomain].Remove(instance.ItemID);
|
||||||
if (m_DomainScripts[instance.AppDomain].Count == 0)
|
if (m_DomainScripts[instance.AppDomain].Count == 0)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue