aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Physics/Manager
diff options
context:
space:
mode:
authorTeravus Ovares2007-11-28 06:18:07 +0000
committerTeravus Ovares2007-11-28 06:18:07 +0000
commitb7d596a6af51bea7dba642cdc768ac5ff77af5f3 (patch)
tree967b749b10b548f6ed687d8ade4680e411793da4 /OpenSim/Region/Physics/Manager
parentbuild ThrottleCheck function to clear up bits of the throttle (diff)
downloadopensim-SC-b7d596a6af51bea7dba642cdc768ac5ff77af5f3.zip
opensim-SC-b7d596a6af51bea7dba642cdc768ac5ff77af5f3.tar.gz
opensim-SC-b7d596a6af51bea7dba642cdc768ac5ff77af5f3.tar.bz2
opensim-SC-b7d596a6af51bea7dba642cdc768ac5ff77af5f3.tar.xz
* Restaring the sim works fine in grid mode now. Sims announce themselves to their neighbors when they start up. Neighbors get this message and tell their agents that there's a new sim up.
* Certain unrecoverable physics based crashes in ODE are now hooked up to the 'restart the sim' routine.
Diffstat (limited to 'OpenSim/Region/Physics/Manager')
-rw-r--r--OpenSim/Region/Physics/Manager/PhysicsScene.cs17
1 files changed, 17 insertions, 0 deletions
diff --git a/OpenSim/Region/Physics/Manager/PhysicsScene.cs b/OpenSim/Region/Physics/Manager/PhysicsScene.cs
index 651992c..635b208 100644
--- a/OpenSim/Region/Physics/Manager/PhysicsScene.cs
+++ b/OpenSim/Region/Physics/Manager/PhysicsScene.cs
@@ -32,12 +32,29 @@ using OpenSim.Region.Physics.Manager;
32 32
33namespace OpenSim.Region.Physics.Manager 33namespace OpenSim.Region.Physics.Manager
34{ 34{
35 public delegate void physicsCrash();
36
35 public abstract class PhysicsScene 37 public abstract class PhysicsScene
36 { 38 {
39 // The only thing that should register for this event is the InnerScene
40 // Anything else could cause problems.
41
42 public event physicsCrash OnPhysicsCrash;
43
37 public static PhysicsScene Null 44 public static PhysicsScene Null
38 { 45 {
39 get { return new NullPhysicsScene(); } 46 get { return new NullPhysicsScene(); }
40 } 47 }
48 public virtual void TriggerPhysicsBasedRestart()
49 {
50 physicsCrash handler = OnPhysicsCrash;
51 if (handler != null)
52 {
53 OnPhysicsCrash();
54 }
55
56 }
57
41 58
42 public abstract void Initialise(IMesher meshmerizer); 59 public abstract void Initialise(IMesher meshmerizer);
43 60