diff options
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/ScriptEngine/XEngine/XEngine.cs | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs index 7f3bd76..efcae94 100644 --- a/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs +++ b/OpenSim/Region/ScriptEngine/XEngine/XEngine.cs | |||
@@ -1574,7 +1574,11 @@ namespace OpenSim.Region.ScriptEngine.XEngine | |||
1574 | { | 1574 | { |
1575 | IScriptInstance instance = GetInstance(itemID); | 1575 | IScriptInstance instance = GetInstance(itemID); |
1576 | if (instance != null) | 1576 | if (instance != null) |
1577 | instance.Stop(0); | 1577 | { |
1578 | // Give the script some time to finish processing its last event. Simply aborting the script thread can | ||
1579 | // cause issues on mono 2.6, 2.10 and possibly later where locks are not released properly on abort. | ||
1580 | instance.Stop(1000); | ||
1581 | } | ||
1578 | } | 1582 | } |
1579 | 1583 | ||
1580 | public DetectParams GetDetectParams(UUID itemID, int idx) | 1584 | public DetectParams GetDetectParams(UUID itemID, int idx) |