"threads" command now works. I've added manual tracking of threads (only if compiled in DEBUG mode)... Its ugly and even requires a separate thread to track the treads, but it will be very valuable in debugging.

This commit is contained in:
Tedd Hansen
2008-02-21 10:43:24 +00:00
parent 4a621d106c
commit 7102ac7769
16 changed files with 149 additions and 7 deletions

View File

@@ -113,7 +113,10 @@ namespace OpenSim.Region.Environment.Modules
m_irc_connector.Name = "IRCConnectorThread";
m_irc_connector.IsBackground = true;
}
if (!m_irc_connector.IsAlive) { m_irc_connector.Start(); }
if (!m_irc_connector.IsAlive) {
m_irc_connector.Start();
OpenSim.Framework.ThreadTracker.Add(m_irc_connector);
}
}
catch (Exception ex)
{
@@ -260,7 +263,10 @@ namespace OpenSim.Region.Environment.Modules
m_irc_connector.Name = "IRCConnectorThread";
m_irc_connector.IsBackground = true;
}
if (!m_irc_connector.IsAlive) { m_irc_connector.Start(); }
if (!m_irc_connector.IsAlive) {
m_irc_connector.Start();
OpenSim.Framework.ThreadTracker.Add(m_irc_connector);
}
}
catch (Exception ex)
{
@@ -421,11 +427,13 @@ namespace OpenSim.Region.Environment.Modules
pingSender.Name = "PingSenderThread";
pingSender.IsBackground = true;
pingSender.Start();
OpenSim.Framework.ThreadTracker.Add(pingSender);
listener = new Thread(new ThreadStart(ListenerRun));
listener.Name = "IRCChatModuleListenerThread";
listener.IsBackground = true;
listener.Start();
OpenSim.Framework.ThreadTracker.Add(listener);
m_writer.WriteLine(m_user);
m_writer.Flush();