a few more changes on potencial mem issues

melanie
UbitUmarov 2016-11-18 00:12:09 +00:00
parent e21ac8b3c4
commit ba7904a3a8
4 changed files with 19 additions and 2 deletions

View File

@ -141,6 +141,11 @@ namespace OpenSim.Framework.Capabilities
m_capsActive.Reset();
}
~Caps()
{
m_capsActive.Dispose();
}
/// <summary>
/// Register a handler. This allows modules to register handlers.
/// </summary>

View File

@ -55,6 +55,11 @@ namespace OpenSim.Framework
Dictionary2 = new Dictionary<TKey2, TValue>(capacity);
}
~DoubleDictionaryThreadAbortSafe()
{
rwLock.Dispose();
}
public void Add(TKey1 key1, TKey2 key2, TValue value)
{
bool gotLock = false;

View File

@ -1483,6 +1483,7 @@ namespace OpenSim.Region.PhysicsModule.ubODEMeshing
lock (diskLock)
{
Stream stream = null;
try
{
if (!Directory.Exists(dir))
@ -1490,8 +1491,8 @@ namespace OpenSim.Region.PhysicsModule.ubODEMeshing
Directory.CreateDirectory(dir);
}
using(Stream stream = File.Open(filename, FileMode.Create))
ok = mesh.ToStream(stream);
stream = File.Open(filename, FileMode.Create);
ok = mesh.ToStream(stream);
}
catch (IOException e)
{
@ -1500,6 +1501,11 @@ namespace OpenSim.Region.PhysicsModule.ubODEMeshing
filename, e.Message, e.StackTrace);
ok = false;
}
finally
{
if(stream != null)
stream.Dispose();
}
if (!ok && File.Exists(filename))
{

View File

@ -625,6 +625,7 @@ namespace Amib.Threading.Internal
if (!_isDisposed)
{
Cleanup();
_headWaiterEntry.Close();
}
_isDisposed = true;
}