George Aroush wrote:
Hi Michael,
That is right. If you take the current code as-is (without the change to
Close() as I mentioned earlier) of Lucene.Net 1.9, 1.9.1 and 2.0 and compile
them using .NET 2.0, you will not see any leak!
What's even more puzzling to me is this. If I add the following code:
~RAMOutputStream()
{
file = null;
}
To the class Lucene.Net.Store.RAMOutputStream, the leak more then doubles!!
Seems similar to my observation that removing the (unused) finaliser for
TermInfosReader halved the memory leak.
I have to say the logic of the finaliser in C# isn't one of my strong
suits but I'm still poking around in the code occassionally
as and when I get the time...
Ben