aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared/Api/Implementation
diff options
context:
space:
mode:
authorUbitUmarov2017-05-12 03:53:18 +0100
committerUbitUmarov2017-05-12 03:53:18 +0100
commita932f24ba4583f5a0b7a149ffc39ac4814df3c31 (patch)
tree3513052021fac032a9d4ccc499bfe999e276dbd4 /OpenSim/Region/ScriptEngine/Shared/Api/Implementation
parentavoid a null ref (diff)
downloadopensim-SC-a932f24ba4583f5a0b7a149ffc39ac4814df3c31.zip
opensim-SC-a932f24ba4583f5a0b7a149ffc39ac4814df3c31.tar.gz
opensim-SC-a932f24ba4583f5a0b7a149ffc39ac4814df3c31.tar.bz2
opensim-SC-a932f24ba4583f5a0b7a149ffc39ac4814df3c31.tar.xz
minor fix on sensorrepeat
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api/Implementation')
-rw-r--r--OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs14
1 files changed, 10 insertions, 4 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs
index 1808c34..cc98bbb 100644
--- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs
+++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs
@@ -160,7 +160,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins
160 ts.arc = arc; 160 ts.arc = arc;
161 ts.host = host; 161 ts.host = host;
162 162
163 ts.next = DateTime.Now.ToUniversalTime().AddSeconds(ts.interval); 163 ts.next = DateTime.UtcNow.AddSeconds(ts.interval);
164 164
165 AddSenseRepeater(ts); 165 AddSenseRepeater(ts);
166 } 166 }
@@ -196,14 +196,20 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins
196 public void CheckSenseRepeaterEvents() 196 public void CheckSenseRepeaterEvents()
197 { 197 {
198 // Go through all timers 198 // Go through all timers
199 foreach (SensorInfo ts in SenseRepeaters) 199
200 List<SensorInfo> curSensors;
201 lock(SenseRepeatListLock)
202 curSensors = SenseRepeaters;
203
204 DateTime now = DateTime.UtcNow;
205 foreach (SensorInfo ts in curSensors)
200 { 206 {
201 // Time has passed? 207 // Time has passed?
202 if (ts.next.ToUniversalTime() < DateTime.Now.ToUniversalTime()) 208 if (ts.next < now)
203 { 209 {
204 SensorSweep(ts); 210 SensorSweep(ts);
205 // set next interval 211 // set next interval
206 ts.next = DateTime.Now.ToUniversalTime().AddSeconds(ts.interval); 212 ts.next = now.AddSeconds(ts.interval);
207 } 213 }
208 } 214 }
209 } 215 }