diff options
Diffstat (limited to 'OpenSim/Framework')
-rw-r--r-- | OpenSim/Framework/Monitoring/Watchdog.cs | 31 |
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> |