diff options
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/Scene.cs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 2323335..df54ae2 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -1171,6 +1171,16 @@ namespace OpenSim.Region.Framework.Scenes | |||
1171 | if(m_hbRestarts > 10) | 1171 | if(m_hbRestarts > 10) |
1172 | Environment.Exit(1); | 1172 | Environment.Exit(1); |
1173 | m_log.ErrorFormat("[SCENE]: Restarting heartbeat thread because it hasn't reported in in region {0}", RegionInfo.RegionName); | 1173 | m_log.ErrorFormat("[SCENE]: Restarting heartbeat thread because it hasn't reported in in region {0}", RegionInfo.RegionName); |
1174 | int pid = System.Diagnostics.Process.GetCurrentProcess().Id; | ||
1175 | |||
1176 | System.Diagnostics.Process proc = new System.Diagnostics.Process(); | ||
1177 | proc.EnableRaisingEvents=false; | ||
1178 | proc.StartInfo.FileName = "/bin/kill"; | ||
1179 | proc.StartInfo.Arguments = "-QUIT " + pid.ToString(); | ||
1180 | proc.Start(); | ||
1181 | proc.WaitForExit(); | ||
1182 | Thread.Sleep(1000); | ||
1183 | Environment.Exit(1); | ||
1174 | HeartbeatThread.Abort(); | 1184 | HeartbeatThread.Abort(); |
1175 | Watchdog.AbortThread(HeartbeatThread.ManagedThreadId); | 1185 | Watchdog.AbortThread(HeartbeatThread.ManagedThreadId); |
1176 | HeartbeatThread = null; | 1186 | HeartbeatThread = null; |