Fixing a few compile errors in the previous commit
parent
e7c877407f
commit
2519f071f2
|
@ -89,7 +89,6 @@ namespace OpenSim.Client.MXP.PacketHandler
|
||||||
m_clientThread.Name = "MXPThread";
|
m_clientThread.Name = "MXPThread";
|
||||||
m_clientThread.IsBackground = true;
|
m_clientThread.IsBackground = true;
|
||||||
m_clientThread.Start();
|
m_clientThread.Start();
|
||||||
ThreadTracker.Add(m_clientThread);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void StartListener()
|
public void StartListener()
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
@ -109,9 +110,8 @@ namespace OpenSim.Framework.Servers
|
||||||
m_periodicDiagnosticsTimer.Elapsed += new ElapsedEventHandler(LogDiagnostics);
|
m_periodicDiagnosticsTimer.Elapsed += new ElapsedEventHandler(LogDiagnostics);
|
||||||
m_periodicDiagnosticsTimer.Enabled = true;
|
m_periodicDiagnosticsTimer.Enabled = true;
|
||||||
|
|
||||||
// Add ourselves to thread monitoring. This thread will go on to become the console listening thread
|
// This thread will go on to become the console listening thread
|
||||||
Thread.CurrentThread.Name = "ConsoleThread";
|
Thread.CurrentThread.Name = "ConsoleThread";
|
||||||
ThreadTracker.Add(Thread.CurrentThread);
|
|
||||||
|
|
||||||
ILoggerRepository repository = LogManager.GetRepository();
|
ILoggerRepository repository = LogManager.GetRepository();
|
||||||
IAppender[] appenders = repository.GetAppenders();
|
IAppender[] appenders = repository.GetAppenders();
|
||||||
|
@ -235,7 +235,7 @@ namespace OpenSim.Framework.Servers
|
||||||
{
|
{
|
||||||
StringBuilder sb = new StringBuilder();
|
StringBuilder sb = new StringBuilder();
|
||||||
|
|
||||||
List<Thread> threads = ThreadTracker.GetThreads();
|
ProcessThreadCollection threads = ThreadTracker.GetThreads();
|
||||||
if (threads == null)
|
if (threads == null)
|
||||||
{
|
{
|
||||||
sb.Append("OpenSim thread tracking is only enabled in DEBUG mode.");
|
sb.Append("OpenSim thread tracking is only enabled in DEBUG mode.");
|
||||||
|
@ -243,25 +243,10 @@ namespace OpenSim.Framework.Servers
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sb.Append(threads.Count + " threads are being tracked:" + Environment.NewLine);
|
sb.Append(threads.Count + " threads are being tracked:" + Environment.NewLine);
|
||||||
foreach (Thread t in threads)
|
foreach (ProcessThread t in threads)
|
||||||
{
|
{
|
||||||
if (t.IsAlive)
|
sb.Append("ID: " + t.Id + ", TotalProcessorTime: " + t.TotalProcessorTime + ", TimeRunning: " +
|
||||||
{
|
(DateTime.Now - t.StartTime) + ", Pri: " + t.CurrentPriority + ", State: " + t.ThreadState + Environment.NewLine);
|
||||||
sb.Append(
|
|
||||||
"ID: " + t.ManagedThreadId + ", Name: " + t.Name + ", Alive: " + t.IsAlive
|
|
||||||
+ ", Pri: " + t.Priority + ", State: " + t.ThreadState + Environment.NewLine);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
sb.Append("ID: " + t.ManagedThreadId + ", Name: " + t.Name + ", DEAD" + Environment.NewLine);
|
|
||||||
}
|
|
||||||
catch
|
|
||||||
{
|
|
||||||
sb.Append("THREAD ERROR" + Environment.NewLine);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
int workers = 0, ports = 0, maxWorkers = 0, maxPorts = 0;
|
int workers = 0, ports = 0, maxWorkers = 0, maxPorts = 0;
|
||||||
|
|
|
@ -41,7 +41,7 @@ namespace OpenSim.Framework.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void DefaultThreadTrackerTest()
|
public void DefaultThreadTrackerTest()
|
||||||
{
|
{
|
||||||
List<Thread> lThread = ThreadTracker.GetThreads();
|
System.Diagnostics.ProcessThreadCollection lThread = ThreadTracker.GetThreads();
|
||||||
|
|
||||||
/*
|
/*
|
||||||
foreach (Thread t in lThread)
|
foreach (Thread t in lThread)
|
||||||
|
@ -50,143 +50,7 @@ namespace OpenSim.Framework.Tests
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
Assert.That(lThread.Count == 1);
|
Assert.That(lThread.Count > 0);
|
||||||
Assert.That(lThread[0].Name == "ThreadTrackerThread");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Validate that adding a thread to the thread tracker works
|
|
||||||
/// Validate that removing a thread from the thread tracker also works.
|
|
||||||
/// </summary>
|
|
||||||
[Test]
|
|
||||||
public void AddThreadToThreadTrackerTestAndRemoveTest()
|
|
||||||
{
|
|
||||||
Thread t = new Thread(run);
|
|
||||||
t.Name = "TestThread";
|
|
||||||
t.Priority = ThreadPriority.BelowNormal;
|
|
||||||
t.IsBackground = true;
|
|
||||||
t.SetApartmentState(ApartmentState.MTA);
|
|
||||||
t.Start();
|
|
||||||
ThreadTracker.Add(t);
|
|
||||||
|
|
||||||
List<Thread> lThread = ThreadTracker.GetThreads();
|
|
||||||
|
|
||||||
Assert.That(lThread.Count == 2);
|
|
||||||
|
|
||||||
foreach (Thread tr in lThread)
|
|
||||||
{
|
|
||||||
Assert.That((tr.Name == "ThreadTrackerThread" || tr.Name == "TestThread"));
|
|
||||||
}
|
|
||||||
running = false;
|
|
||||||
ThreadTracker.Remove(t);
|
|
||||||
|
|
||||||
lThread = ThreadTracker.GetThreads();
|
|
||||||
|
|
||||||
Assert.That(lThread.Count == 1);
|
|
||||||
|
|
||||||
foreach (Thread tr in lThread)
|
|
||||||
{
|
|
||||||
Assert.That((tr.Name == "ThreadTrackerThread"));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Test a dead thread removal by aborting it and setting it's last seen active date to 50 seconds
|
|
||||||
/// </summary>
|
|
||||||
[Test]
|
|
||||||
public void DeadThreadTest()
|
|
||||||
{
|
|
||||||
Thread t = new Thread(run2);
|
|
||||||
t.Name = "TestThread";
|
|
||||||
t.Priority = ThreadPriority.BelowNormal;
|
|
||||||
t.IsBackground = true;
|
|
||||||
t.SetApartmentState(ApartmentState.MTA);
|
|
||||||
t.Start();
|
|
||||||
ThreadTracker.Add(t);
|
|
||||||
t.Abort();
|
|
||||||
Thread.Sleep(5000);
|
|
||||||
ThreadTracker.m_Threads[1].LastSeenActive = DateTime.Now.Ticks - (50*10000000);
|
|
||||||
ThreadTracker.CleanUp();
|
|
||||||
List<Thread> lThread = ThreadTracker.GetThreads();
|
|
||||||
|
|
||||||
Assert.That(lThread.Count == 1);
|
|
||||||
|
|
||||||
foreach (Thread tr in lThread)
|
|
||||||
{
|
|
||||||
Assert.That((tr.Name == "ThreadTrackerThread"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[Test]
|
|
||||||
public void UnstartedThreadTest()
|
|
||||||
{
|
|
||||||
Thread t = new Thread(run2);
|
|
||||||
t.Name = "TestThread";
|
|
||||||
t.Priority = ThreadPriority.BelowNormal;
|
|
||||||
t.IsBackground = true;
|
|
||||||
t.SetApartmentState(ApartmentState.MTA);
|
|
||||||
ThreadTracker.Add(t);
|
|
||||||
ThreadTracker.m_Threads[1].LastSeenActive = DateTime.Now.Ticks - (50 * 10000000);
|
|
||||||
ThreadTracker.CleanUp();
|
|
||||||
List<Thread> lThread = ThreadTracker.GetThreads();
|
|
||||||
|
|
||||||
Assert.That(lThread.Count == 1);
|
|
||||||
|
|
||||||
foreach (Thread tr in lThread)
|
|
||||||
{
|
|
||||||
Assert.That((tr.Name == "ThreadTrackerThread"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
[Test]
|
|
||||||
public void NullThreadTest()
|
|
||||||
{
|
|
||||||
Thread t = null;
|
|
||||||
ThreadTracker.Add(t);
|
|
||||||
|
|
||||||
List<Thread> lThread = ThreadTracker.GetThreads();
|
|
||||||
|
|
||||||
Assert.That(lThread.Count == 1);
|
|
||||||
|
|
||||||
foreach (Thread tr in lThread)
|
|
||||||
{
|
|
||||||
Assert.That((tr.Name == "ThreadTrackerThread"));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Worker thread 0
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="o"></param>
|
|
||||||
public void run(object o)
|
|
||||||
{
|
|
||||||
while (running)
|
|
||||||
{
|
|
||||||
Thread.Sleep(5000);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/// <summary>
|
|
||||||
/// Worker thread 1
|
|
||||||
/// </summary>
|
|
||||||
/// <param name="o"></param>
|
|
||||||
public void run2(object o)
|
|
||||||
{
|
|
||||||
try
|
|
||||||
{
|
|
||||||
while (running2)
|
|
||||||
{
|
|
||||||
Thread.Sleep(5000);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
||||||
catch (ThreadAbortException)
|
|
||||||
{
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -323,7 +323,6 @@ namespace OpenSim.Region.CoreModules.Scripting.HttpRequest
|
||||||
httpThread.IsBackground = true;
|
httpThread.IsBackground = true;
|
||||||
_finished = false;
|
_finished = false;
|
||||||
httpThread.Start();
|
httpThread.Start();
|
||||||
ThreadTracker.Add(httpThread);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -639,7 +639,6 @@ namespace OpenSim.Region.CoreModules.Scripting.XMLRPC
|
||||||
httpThread.IsBackground = true;
|
httpThread.IsBackground = true;
|
||||||
_finished = false;
|
_finished = false;
|
||||||
httpThread.Start();
|
httpThread.Start();
|
||||||
ThreadTracker.Add(httpThread);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -345,7 +345,6 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
|
||||||
mapItemReqThread.Priority = ThreadPriority.BelowNormal;
|
mapItemReqThread.Priority = ThreadPriority.BelowNormal;
|
||||||
mapItemReqThread.SetApartmentState(ApartmentState.MTA);
|
mapItemReqThread.SetApartmentState(ApartmentState.MTA);
|
||||||
mapItemReqThread.Start();
|
mapItemReqThread.Start();
|
||||||
ThreadTracker.Add(mapItemReqThread);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
@ -447,7 +446,6 @@ namespace OpenSim.Region.CoreModules.World.WorldMap
|
||||||
// end gracefully
|
// end gracefully
|
||||||
if (st.agentID == UUID.Zero)
|
if (st.agentID == UUID.Zero)
|
||||||
{
|
{
|
||||||
ThreadTracker.Remove(mapItemReqThread);
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -901,7 +901,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
//m_heartbeatTimer.Elapsed += new ElapsedEventHandler(Heartbeat);
|
//m_heartbeatTimer.Elapsed += new ElapsedEventHandler(Heartbeat);
|
||||||
if (HeartbeatThread != null)
|
if (HeartbeatThread != null)
|
||||||
{
|
{
|
||||||
ThreadTracker.Remove(HeartbeatThread);
|
|
||||||
HeartbeatThread.Abort();
|
HeartbeatThread.Abort();
|
||||||
HeartbeatThread = null;
|
HeartbeatThread = null;
|
||||||
}
|
}
|
||||||
|
@ -910,7 +909,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
HeartbeatThread.SetApartmentState(ApartmentState.MTA);
|
HeartbeatThread.SetApartmentState(ApartmentState.MTA);
|
||||||
HeartbeatThread.Name = string.Format("Heartbeat for region {0}", RegionInfo.RegionName);
|
HeartbeatThread.Name = string.Format("Heartbeat for region {0}", RegionInfo.RegionName);
|
||||||
HeartbeatThread.Priority = ThreadPriority.AboveNormal;
|
HeartbeatThread.Priority = ThreadPriority.AboveNormal;
|
||||||
ThreadTracker.Add(HeartbeatThread);
|
|
||||||
HeartbeatThread.Start();
|
HeartbeatThread.Start();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -360,7 +360,6 @@ namespace OpenSim.Region.OptionalModules.Avatar.Chat
|
||||||
m_listener.Name = "IRCConnectorListenerThread";
|
m_listener.Name = "IRCConnectorListenerThread";
|
||||||
m_listener.IsBackground = true;
|
m_listener.IsBackground = true;
|
||||||
m_listener.Start();
|
m_listener.Start();
|
||||||
ThreadTracker.Add(m_listener);
|
|
||||||
|
|
||||||
// This is the message order recommended by RFC 2812
|
// This is the message order recommended by RFC 2812
|
||||||
if (m_password != null)
|
if (m_password != null)
|
||||||
|
|
|
@ -152,7 +152,6 @@ namespace OpenSim.Region.OptionalModules.ContentManagement
|
||||||
m_thread.Name = "Content Management";
|
m_thread.Name = "Content Management";
|
||||||
m_thread.IsBackground = true;
|
m_thread.IsBackground = true;
|
||||||
m_thread.Start();
|
m_thread.Start();
|
||||||
ThreadTracker.Add(m_thread);
|
|
||||||
m_state = State.NONE;
|
m_state = State.NONE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -138,7 +138,6 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
|
||||||
EventQueueThread.Priority = MyThreadPriority;
|
EventQueueThread.Priority = MyThreadPriority;
|
||||||
EventQueueThread.Name = "EventQueueManagerThread_" + ThreadCount;
|
EventQueueThread.Name = "EventQueueManagerThread_" + ThreadCount;
|
||||||
EventQueueThread.Start();
|
EventQueueThread.Start();
|
||||||
ThreadTracker.Add(EventQueueThread);
|
|
||||||
|
|
||||||
// Look at this... Don't you wish everyone did that solid
|
// Look at this... Don't you wish everyone did that solid
|
||||||
// coding everywhere? :P
|
// coding everywhere? :P
|
||||||
|
|
|
@ -97,7 +97,6 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
|
||||||
MaintenanceThreadThread.Name = "ScriptMaintenanceThread";
|
MaintenanceThreadThread.Name = "ScriptMaintenanceThread";
|
||||||
MaintenanceThreadThread.IsBackground = true;
|
MaintenanceThreadThread.IsBackground = true;
|
||||||
MaintenanceThreadThread.Start();
|
MaintenanceThreadThread.Start();
|
||||||
ThreadTracker.Add(MaintenanceThreadThread);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -142,7 +142,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
cmdHandlerThread.Priority = ThreadPriority.BelowNormal;
|
cmdHandlerThread.Priority = ThreadPriority.BelowNormal;
|
||||||
cmdHandlerThread.IsBackground = true;
|
cmdHandlerThread.IsBackground = true;
|
||||||
cmdHandlerThread.Start();
|
cmdHandlerThread.Start();
|
||||||
ThreadTracker.Add(cmdHandlerThread);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -115,7 +115,6 @@ namespace OpenSim.TestSuite
|
||||||
m_td[pos].IsBackground = true;
|
m_td[pos].IsBackground = true;
|
||||||
m_td[pos].Start();
|
m_td[pos].Start();
|
||||||
m_lBot.Add(pb);
|
m_lBot.Add(pb);
|
||||||
ThreadTracker.Add(m_td[pos]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
|
@ -149,7 +149,6 @@ namespace pCampBot
|
||||||
m_td[pos].IsBackground = true;
|
m_td[pos].IsBackground = true;
|
||||||
m_td[pos].Start();
|
m_td[pos].Start();
|
||||||
m_lBot.Add(pb);
|
m_lBot.Add(pb);
|
||||||
ThreadTracker.Add(m_td[pos]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|
Loading…
Reference in New Issue