* In the most basic situations, ClientView and ScenePresence no longer leak memory
* However, I'm no longer sure they were even a big contributory factor (to this particular leak, there are other causes of other leaks). I need better measurement techniques * Removed most of my debugging gawpThreadPoolClientBranch
parent
2dc94870aa
commit
a50a8376d6
|
@ -51,10 +51,10 @@ namespace OpenSim.Region.ClientStack
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class ClientView : IClientAPI
|
public class ClientView : IClientAPI
|
||||||
{
|
{
|
||||||
~ClientView()
|
// ~ClientView()
|
||||||
{
|
// {
|
||||||
System.Console.WriteLine("[CLIENTVIEW]: Destructor called");
|
// System.Console.WriteLine("[CLIENTVIEW]: Destructor called");
|
||||||
}
|
// }
|
||||||
|
|
||||||
private static readonly log4net.ILog m_log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly log4net.ILog m_log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
||||||
|
|
|
@ -146,9 +146,12 @@ namespace OpenSim.Region.Environment.Modules
|
||||||
|
|
||||||
public void ProcessTextureSenders()
|
public void ProcessTextureSenders()
|
||||||
{
|
{
|
||||||
|
TextureSender sender = null;
|
||||||
|
|
||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
TextureSender sender = m_queueSenders.Dequeue();
|
sender = m_queueSenders.Dequeue();
|
||||||
|
|
||||||
if (sender.Cancel)
|
if (sender.Cancel)
|
||||||
{
|
{
|
||||||
TextureSent(sender);
|
TextureSent(sender);
|
||||||
|
@ -168,7 +171,10 @@ namespace OpenSim.Region.Environment.Modules
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
m_log.Info(String.Format("[TEXTURE DOWNLOAD] Texture sender queue size: {0}", m_queueSenders.Count()));
|
// Make sure that any sender we currently have can get garbage collected
|
||||||
|
sender = null;
|
||||||
|
|
||||||
|
//m_log.Info(String.Format("[TEXTURE DOWNLOAD] Texture sender queue size: {0}", m_queueSenders.Count()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -104,9 +104,9 @@ namespace OpenSim.Region.Environment.Modules
|
||||||
EnqueueTextureSender(textureSender);
|
EnqueueTextureSender(textureSender);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_log.Info(String.Format("[TEXTURE SENDER] Removing texture sender with uuid {0}", textureID));
|
//m_log.Info(String.Format("[TEXTURE SENDER] Removing texture sender with uuid {0}", textureID));
|
||||||
m_textureSenders.Remove(textureID);
|
m_textureSenders.Remove(textureID);
|
||||||
m_log.Info(String.Format("[TEXTURE SENDER] Current texture senders in dictionary: {0}", m_textureSenders.Count));
|
//m_log.Info(String.Format("[TEXTURE SENDER] Current texture senders in dictionary: {0}", m_textureSenders.Count));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -39,10 +39,10 @@ namespace OpenSim.Region.Environment.Scenes
|
||||||
{
|
{
|
||||||
public class ScenePresence : EntityBase
|
public class ScenePresence : EntityBase
|
||||||
{
|
{
|
||||||
~ScenePresence()
|
// ~ScenePresence()
|
||||||
{
|
// {
|
||||||
System.Console.WriteLine("[ScenePresence] Destructor called");
|
// System.Console.WriteLine("[ScenePresence] Destructor called");
|
||||||
}
|
// }
|
||||||
|
|
||||||
private static readonly log4net.ILog m_log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
private static readonly log4net.ILog m_log = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue