aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Framework/Monitoring
diff options
context:
space:
mode:
authorMelanie2012-08-15 22:59:31 +0100
committerMelanie2012-08-15 22:59:31 +0100
commite286a95d761334bb5781638d3bb16338a8343c71 (patch)
tree6d854f59efb4b4922654d03329c07eb7476e1cce /OpenSim/Framework/Monitoring
parentImplementing PRIM_LINK_TARGET in a non-recursive fashion (diff)
parentDon't enable the thread watchdog until all regions are ready. (diff)
downloadopensim-SC_OLD-e286a95d761334bb5781638d3bb16338a8343c71.zip
opensim-SC_OLD-e286a95d761334bb5781638d3bb16338a8343c71.tar.gz
opensim-SC_OLD-e286a95d761334bb5781638d3bb16338a8343c71.tar.bz2
opensim-SC_OLD-e286a95d761334bb5781638d3bb16338a8343c71.tar.xz
Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim
Diffstat (limited to 'OpenSim/Framework/Monitoring')
-rw-r--r--OpenSim/Framework/Monitoring/Watchdog.cs31
1 files changed, 26 insertions, 5 deletions
diff --git a/OpenSim/Framework/Monitoring/Watchdog.cs b/OpenSim/Framework/Monitoring/Watchdog.cs
index d4cf02f..02f11fa 100644
--- a/OpenSim/Framework/Monitoring/Watchdog.cs
+++ b/OpenSim/Framework/Monitoring/Watchdog.cs
@@ -97,6 +97,32 @@ namespace OpenSim.Framework.Monitoring
97 /// /summary> 97 /// /summary>
98 public static event Action<ThreadWatchdogInfo> OnWatchdogTimeout; 98 public static event Action<ThreadWatchdogInfo> OnWatchdogTimeout;
99 99
100 /// <summary>
101 /// Is this watchdog active?
102 /// </summary>
103 public static bool Enabled
104 {
105 get { return m_enabled; }
106 set
107 {
108// m_log.DebugFormat("[MEMORY WATCHDOG]: Setting MemoryWatchdog.Enabled to {0}", value);
109
110 if (value == m_enabled)
111 return;
112
113 m_enabled = value;
114
115 if (m_enabled)
116 {
117 // Set now so we don't get alerted on the first run
118 LastWatchdogThreadTick = Environment.TickCount & Int32.MaxValue;
119 }
120
121 m_watchdogTimer.Enabled = m_enabled;
122 }
123 }
124 private static bool m_enabled;
125
100 private static readonly ILog m_log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); 126 private static readonly ILog m_log = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
101 private static Dictionary<int, ThreadWatchdogInfo> m_threads; 127 private static Dictionary<int, ThreadWatchdogInfo> m_threads;
102 private static System.Timers.Timer m_watchdogTimer; 128 private static System.Timers.Timer m_watchdogTimer;
@@ -115,11 +141,6 @@ namespace OpenSim.Framework.Monitoring
115 m_watchdogTimer = new System.Timers.Timer(WATCHDOG_INTERVAL_MS); 141 m_watchdogTimer = new System.Timers.Timer(WATCHDOG_INTERVAL_MS);
116 m_watchdogTimer.AutoReset = false; 142 m_watchdogTimer.AutoReset = false;
117 m_watchdogTimer.Elapsed += WatchdogTimerElapsed; 143 m_watchdogTimer.Elapsed += WatchdogTimerElapsed;
118
119 // Set now so we don't get alerted on the first run
120 LastWatchdogThreadTick = Environment.TickCount & Int32.MaxValue;
121
122 m_watchdogTimer.Start();
123 } 144 }
124 145
125 /// <summary> 146 /// <summary>