internal virtual void RemoveOpenFile(IDisposable c, string name)
{
//Trace.TraceInformation("Rem {0} {1}", c, name);
lock (this)
{
int v;
if (OpenFiles.TryGetValue(name, out v))
{
if (v == 1)
{
OpenFiles.Remove(name);
OpenFileHandles.Remove(c);
}
else
{
v--;
OpenFiles[name] = v;
}
}
}
}