aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/Manager/PhysicsActor.cs
diff options
context:
space:
mode:
authorTeravus Ovares2008-02-20 20:07:12 +0000
committerTeravus Ovares2008-02-20 20:07:12 +0000
commit740ce20d9df4327aaf9660613b9ce11a81d53c83 (patch)
tree7a8e35f615732b4570e2f338ca4ca0c286e13152 /OpenSim/Region/Physics/Manager/PhysicsActor.cs
parent* Properly guard removal of asset request lists on AssetCache.AssetNotFound (... (diff)
downloadopensim-SC-740ce20d9df4327aaf9660613b9ce11a81d53c83.zip
opensim-SC-740ce20d9df4327aaf9660613b9ce11a81d53c83.tar.gz
opensim-SC-740ce20d9df4327aaf9660613b9ce11a81d53c83.tar.bz2
opensim-SC-740ce20d9df4327aaf9660613b9ce11a81d53c83.tar.xz
* Found the land bug, yay
Diffstat (limited to 'OpenSim/Region/Physics/Manager/PhysicsActor.cs')
-rw-r--r--OpenSim/Region/Physics/Manager/PhysicsActor.cs20
1 files changed, 16 insertions, 4 deletions
diff --git a/OpenSim/Region/Physics/Manager/PhysicsActor.cs b/OpenSim/Region/Physics/Manager/PhysicsActor.cs
index 088d85a..f44c160 100644
--- a/OpenSim/Region/Physics/Manager/PhysicsActor.cs
+++ b/OpenSim/Region/Physics/Manager/PhysicsActor.cs
@@ -136,9 +136,13 @@ namespace OpenSim.Region.Physics.Manager
136 // a race condition if the last subscriber unsubscribes 136 // a race condition if the last subscriber unsubscribes
137 // immediately after the null check and before the event is raised. 137 // immediately after the null check and before the event is raised.
138 RequestTerseUpdate handler = OnRequestTerseUpdate; 138 RequestTerseUpdate handler = OnRequestTerseUpdate;
139
139 if (handler != null) 140 if (handler != null)
140 { 141 {
141 handler(); 142 lock (handler)
143 {
144 handler();
145 }
142 } 146 }
143 } 147 }
144 148
@@ -150,17 +154,25 @@ namespace OpenSim.Region.Physics.Manager
150 OutOfBounds handler = OnOutOfBounds; 154 OutOfBounds handler = OnOutOfBounds;
151 if (handler != null) 155 if (handler != null)
152 { 156 {
153 handler(pos); 157 lock (handler)
158 {
159 handler(pos);
160 }
154 } 161 }
155 } 162 }
156 163
157 public virtual void SendCollisionUpdate(EventArgs e) 164 public virtual void SendCollisionUpdate(EventArgs e)
158 { 165 {
159 CollisionUpdate handler = OnCollisionUpdate; 166 CollisionUpdate handler = OnCollisionUpdate;
167
160 if (handler != null) 168 if (handler != null)
161 { 169 {
162 handler(e); 170 lock (handler)
171 {
172 handler(e);
173 }
163 } 174 }
175
164 } 176 }
165 177
166 178