Justin Clark-Casey wrote:
> 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...

perhaps it would be good to have the core committer sign-off on the patch? that
way we'd know who dragged it in...

        DrS
> 
> Best,
> 
> Justin
> 
> [email protected] 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 <administra...@.(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
>> [email protected]
>> https://lists.berlios.de/mailman/listinfo/opensim-commits
>>
> 
> 


-- 
dr dirk husemann ---- virtual worlds research ---- ibm zurich research lab
SL: dr scofield ---- [email protected] ---- http://xyzzyxyzzy.net/
RL: [email protected] - +41 44 724 8573 - http://www.zurich.ibm.com/~hud/
_______________________________________________
Opensim-dev mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/opensim-dev

Reply via email to