From 2519f071f2c592aeea0414c8b2871e5df623271c Mon Sep 17 00:00:00 2001 From: John Hurliman Date: Tue, 6 Oct 2009 02:50:59 -0700 Subject: [PATCH] Fixing a few compile errors in the previous commit --- .../MXP/PacketHandler/MXPPacketServer.cs | 1 - .../Framework/Servers/BaseOpenSimServer.cs | 27 +--- OpenSim/Framework/Tests/ThreadTrackerTests.cs | 140 +----------------- .../HttpRequest/ScriptsHttpRequests.cs | 1 - .../Scripting/XMLRPC/XMLRPCModule.cs | 1 - .../World/WorldMap/WorldMapModule.cs | 2 - OpenSim/Region/Framework/Scenes/Scene.cs | 2 - .../Avatar/Chat/IRCConnector.cs | 1 - .../ContentManagementSystem/CMController.cs | 1 - .../DotNetEngine/EventQueueThreadClass.cs | 1 - .../DotNetEngine/MaintenanceThread.cs | 1 - .../Api/Implementation/AsyncCommandManager.cs | 1 - OpenSim/TestSuite/BotManager.cs | 1 - OpenSim/Tools/pCampBot/BotManager.cs | 1 - 14 files changed, 8 insertions(+), 173 deletions(-) diff --git a/OpenSim/Client/MXP/PacketHandler/MXPPacketServer.cs b/OpenSim/Client/MXP/PacketHandler/MXPPacketServer.cs index 332ff7048a..4910ab1749 100644 --- a/OpenSim/Client/MXP/PacketHandler/MXPPacketServer.cs +++ b/OpenSim/Client/MXP/PacketHandler/MXPPacketServer.cs @@ -89,7 +89,6 @@ namespace OpenSim.Client.MXP.PacketHandler m_clientThread.Name = "MXPThread"; m_clientThread.IsBackground = true; m_clientThread.Start(); - ThreadTracker.Add(m_clientThread); } public void StartListener() diff --git a/OpenSim/Framework/Servers/BaseOpenSimServer.cs b/OpenSim/Framework/Servers/BaseOpenSimServer.cs index 56155ddd59..8e58980b6e 100644 --- a/OpenSim/Framework/Servers/BaseOpenSimServer.cs +++ b/OpenSim/Framework/Servers/BaseOpenSimServer.cs @@ -27,6 +27,7 @@ using System; using System.Collections.Generic; +using System.Diagnostics; using System.IO; using System.Reflection; using System.Text; @@ -109,9 +110,8 @@ namespace OpenSim.Framework.Servers m_periodicDiagnosticsTimer.Elapsed += new ElapsedEventHandler(LogDiagnostics); 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"; - ThreadTracker.Add(Thread.CurrentThread); ILoggerRepository repository = LogManager.GetRepository(); IAppender[] appenders = repository.GetAppenders(); @@ -235,7 +235,7 @@ namespace OpenSim.Framework.Servers { StringBuilder sb = new StringBuilder(); - List threads = ThreadTracker.GetThreads(); + ProcessThreadCollection threads = ThreadTracker.GetThreads(); if (threads == null) { sb.Append("OpenSim thread tracking is only enabled in DEBUG mode."); @@ -243,25 +243,10 @@ namespace OpenSim.Framework.Servers else { 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.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); - } - } + sb.Append("ID: " + t.Id + ", TotalProcessorTime: " + t.TotalProcessorTime + ", TimeRunning: " + + (DateTime.Now - t.StartTime) + ", Pri: " + t.CurrentPriority + ", State: " + t.ThreadState + Environment.NewLine); } } int workers = 0, ports = 0, maxWorkers = 0, maxPorts = 0; diff --git a/OpenSim/Framework/Tests/ThreadTrackerTests.cs b/OpenSim/Framework/Tests/ThreadTrackerTests.cs index 15d5b73314..7eb83e6421 100644 --- a/OpenSim/Framework/Tests/ThreadTrackerTests.cs +++ b/OpenSim/Framework/Tests/ThreadTrackerTests.cs @@ -41,7 +41,7 @@ namespace OpenSim.Framework.Tests [Test] public void DefaultThreadTrackerTest() { - List lThread = ThreadTracker.GetThreads(); + System.Diagnostics.ProcessThreadCollection lThread = ThreadTracker.GetThreads(); /* foreach (Thread t in lThread) @@ -50,143 +50,7 @@ namespace OpenSim.Framework.Tests } */ - Assert.That(lThread.Count == 1); - Assert.That(lThread[0].Name == "ThreadTrackerThread"); + Assert.That(lThread.Count > 0); } - - /// - /// Validate that adding a thread to the thread tracker works - /// Validate that removing a thread from the thread tracker also works. - /// - [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 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")); - } - - - } - - /// - /// Test a dead thread removal by aborting it and setting it's last seen active date to 50 seconds - /// - [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 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 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 lThread = ThreadTracker.GetThreads(); - - Assert.That(lThread.Count == 1); - - foreach (Thread tr in lThread) - { - Assert.That((tr.Name == "ThreadTrackerThread")); - } - } - - - /// - /// Worker thread 0 - /// - /// - public void run(object o) - { - while (running) - { - Thread.Sleep(5000); - } - } - - /// - /// Worker thread 1 - /// - /// - public void run2(object o) - { - try - { - while (running2) - { - Thread.Sleep(5000); - } - - } - catch (ThreadAbortException) - { - } - } - } } diff --git a/OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs b/OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs index 45e724db18..d78931a524 100644 --- a/OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs +++ b/OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs @@ -323,7 +323,6 @@ namespace OpenSim.Region.CoreModules.Scripting.HttpRequest httpThread.IsBackground = true; _finished = false; httpThread.Start(); - ThreadTracker.Add(httpThread); } /* diff --git a/OpenSim/Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs b/OpenSim/Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs index 8a169f89c3..97899a7af4 100644 --- a/OpenSim/Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs +++ b/OpenSim/Region/CoreModules/Scripting/XMLRPC/XMLRPCModule.cs @@ -639,7 +639,6 @@ namespace OpenSim.Region.CoreModules.Scripting.XMLRPC httpThread.IsBackground = true; _finished = false; httpThread.Start(); - ThreadTracker.Add(httpThread); } /* diff --git a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs index 05ed70a15d..4fb4c5149f 100644 --- a/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs +++ b/OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs @@ -345,7 +345,6 @@ namespace OpenSim.Region.CoreModules.World.WorldMap mapItemReqThread.Priority = ThreadPriority.BelowNormal; mapItemReqThread.SetApartmentState(ApartmentState.MTA); mapItemReqThread.Start(); - ThreadTracker.Add(mapItemReqThread); } /// @@ -447,7 +446,6 @@ namespace OpenSim.Region.CoreModules.World.WorldMap // end gracefully if (st.agentID == UUID.Zero) { - ThreadTracker.Remove(mapItemReqThread); break; } diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 606135b516..30c2223fcc 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs @@ -901,7 +901,6 @@ namespace OpenSim.Region.Framework.Scenes //m_heartbeatTimer.Elapsed += new ElapsedEventHandler(Heartbeat); if (HeartbeatThread != null) { - ThreadTracker.Remove(HeartbeatThread); HeartbeatThread.Abort(); HeartbeatThread = null; } @@ -910,7 +909,6 @@ namespace OpenSim.Region.Framework.Scenes HeartbeatThread.SetApartmentState(ApartmentState.MTA); HeartbeatThread.Name = string.Format("Heartbeat for region {0}", RegionInfo.RegionName); HeartbeatThread.Priority = ThreadPriority.AboveNormal; - ThreadTracker.Add(HeartbeatThread); HeartbeatThread.Start(); } diff --git a/OpenSim/Region/OptionalModules/Avatar/Chat/IRCConnector.cs b/OpenSim/Region/OptionalModules/Avatar/Chat/IRCConnector.cs index 9273fb579a..cd401a6096 100644 --- a/OpenSim/Region/OptionalModules/Avatar/Chat/IRCConnector.cs +++ b/OpenSim/Region/OptionalModules/Avatar/Chat/IRCConnector.cs @@ -360,7 +360,6 @@ namespace OpenSim.Region.OptionalModules.Avatar.Chat m_listener.Name = "IRCConnectorListenerThread"; m_listener.IsBackground = true; m_listener.Start(); - ThreadTracker.Add(m_listener); // This is the message order recommended by RFC 2812 if (m_password != null) diff --git a/OpenSim/Region/OptionalModules/ContentManagementSystem/CMController.cs b/OpenSim/Region/OptionalModules/ContentManagementSystem/CMController.cs index 7202601f00..16fe9e9be3 100644 --- a/OpenSim/Region/OptionalModules/ContentManagementSystem/CMController.cs +++ b/OpenSim/Region/OptionalModules/ContentManagementSystem/CMController.cs @@ -152,7 +152,6 @@ namespace OpenSim.Region.OptionalModules.ContentManagement m_thread.Name = "Content Management"; m_thread.IsBackground = true; m_thread.Start(); - ThreadTracker.Add(m_thread); m_state = State.NONE; } } diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueThreadClass.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueThreadClass.cs index 0feb967838..583d2ffb73 100644 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueThreadClass.cs +++ b/OpenSim/Region/ScriptEngine/DotNetEngine/EventQueueThreadClass.cs @@ -138,7 +138,6 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine EventQueueThread.Priority = MyThreadPriority; EventQueueThread.Name = "EventQueueManagerThread_" + ThreadCount; EventQueueThread.Start(); - ThreadTracker.Add(EventQueueThread); // Look at this... Don't you wish everyone did that solid // coding everywhere? :P diff --git a/OpenSim/Region/ScriptEngine/DotNetEngine/MaintenanceThread.cs b/OpenSim/Region/ScriptEngine/DotNetEngine/MaintenanceThread.cs index 8bafe77ecc..7ffdb1a413 100644 --- a/OpenSim/Region/ScriptEngine/DotNetEngine/MaintenanceThread.cs +++ b/OpenSim/Region/ScriptEngine/DotNetEngine/MaintenanceThread.cs @@ -97,7 +97,6 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine MaintenanceThreadThread.Name = "ScriptMaintenanceThread"; MaintenanceThreadThread.IsBackground = true; MaintenanceThreadThread.Start(); - ThreadTracker.Add(MaintenanceThreadThread); } } diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs index e4545241c1..1607d34d22 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/AsyncCommandManager.cs @@ -142,7 +142,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api cmdHandlerThread.Priority = ThreadPriority.BelowNormal; cmdHandlerThread.IsBackground = true; cmdHandlerThread.Start(); - ThreadTracker.Add(cmdHandlerThread); } } diff --git a/OpenSim/TestSuite/BotManager.cs b/OpenSim/TestSuite/BotManager.cs index 62e0ec743a..55ba687290 100644 --- a/OpenSim/TestSuite/BotManager.cs +++ b/OpenSim/TestSuite/BotManager.cs @@ -115,7 +115,6 @@ namespace OpenSim.TestSuite m_td[pos].IsBackground = true; m_td[pos].Start(); m_lBot.Add(pb); - ThreadTracker.Add(m_td[pos]); } /// diff --git a/OpenSim/Tools/pCampBot/BotManager.cs b/OpenSim/Tools/pCampBot/BotManager.cs index 3f4e6ed92a..614b350011 100644 --- a/OpenSim/Tools/pCampBot/BotManager.cs +++ b/OpenSim/Tools/pCampBot/BotManager.cs @@ -149,7 +149,6 @@ namespace pCampBot m_td[pos].IsBackground = true; m_td[pos].Start(); m_lBot.Add(pb); - ThreadTracker.Add(m_td[pos]); } ///