[Opensim-dev] No change author recorded in git! (was Re: [Opensim-commits] [OpenSim Git Master Repository] master branch updated. r/11319)
Justin Clark-Casey
jjustincc at googlemail.com
Fri Oct 23 13:33:49 UTC 2009
This looks like a great change but could we make sure that the Author field is
filled in on git am patches? Otherwise it's going to be a bit hard to tell who
to talk to about which changes...
Best,
Justin
opensim-commits-bounces at lists.berlios.de wrote:
> The branch, master has been updated
> via 71c9291 Inconsistent locking of SenseRepeaters in Script Engine.
> from b0923e0 Fix a glitch in a ROBUST message
>
> Those revisions listed above that are new to this repository have
> not appeared on any other notification email; so we list those
> revisions in full, below.
>
> - Log -----------------------------------------------------------------
>
> commit 71c929137f48a0a7d97dbc866cbe2b12319aa40b
> Author: unknown <Administrator at .(none)>
> Date: Fri Oct 23 03:52:49 2009 -0700
>
> Inconsistent locking of SenseRepeaters in Script Engine.
>
> When I attempt to 'save oar' on a region with thousands of scripts with timers, I get a NullReferenceException every time. The problem comes from inconsistent locking in SensorRepeat.cs of the SenseRepeaters List. It is iterated and modified in many places and these places are all wrapped in a lock except in the GetSerializationData(). This is the function throwing the exception because an item in the list becomes null during iteration.
>
> The attached patch locks SenseRepeatListLock in GetSerializationData()
>
> 71c929137f48a0a7d97dbc866cbe2b12319aa40b
> diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs
> index ee01c3c..b75a2e4 100644
> --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs
> +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs
> @@ -516,16 +516,19 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins
> {
> List<Object> data = new List<Object>();
>
> - foreach (SenseRepeatClass ts in SenseRepeaters)
> + lock (SenseRepeatListLock)
> {
> - if (ts.itemID == itemID)
> + foreach (SenseRepeatClass ts in SenseRepeaters)
> {
> - data.Add(ts.interval);
> - data.Add(ts.name);
> - data.Add(ts.keyID);
> - data.Add(ts.type);
> - data.Add(ts.range);
> - data.Add(ts.arc);
> + if (ts.itemID == itemID)
> + {
> + data.Add(ts.interval);
> + data.Add(ts.name);
> + data.Add(ts.keyID);
> + data.Add(ts.type);
> + data.Add(ts.range);
> + data.Add(ts.arc);
> + }
> }
> }
> return data.ToArray();
>
> -----------------------------------------------------------------------
>
> Summary of changes:
> .../Api/Implementation/Plugins/SensorRepeat.cs | 19 +++++++++++--------
> 1 files changed, 11 insertions(+), 8 deletions(-)
> _______________________________________________
> Opensim-commits mailing list
> Opensim-commits at lists.berlios.de
> https://lists.berlios.de/mailman/listinfo/opensim-commits
>
--
justincc
Justin Clark-Casey
http://justincc.org
More information about the Opensim-dev
mailing list