mirror of
https://github.com/opensim/opensim.git
synced 2026-05-13 01:46:07 +08:00
a few more changes on potencial mem issues
This commit is contained in:
@@ -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>
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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))
|
||||
{
|
||||
|
||||
1
ThirdParty/SmartThreadPool/WorkItemsQueue.cs
vendored
1
ThirdParty/SmartThreadPool/WorkItemsQueue.cs
vendored
@@ -625,6 +625,7 @@ namespace Amib.Threading.Internal
|
||||
if (!_isDisposed)
|
||||
{
|
||||
Cleanup();
|
||||
_headWaiterEntry.Close();
|
||||
}
|
||||
_isDisposed = true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user