public void Dispose()
{
System.Console.WriteLine("LogWriter Dispose");
if (this.commitThread != null) {
commitThread_should_die = true;
groupCommitWorkerHndl.Set();
if (!this.commitThread.Join(2)) {
System.Console.WriteLine("commitThread join Timeout");
this.commitThread.Abort();
} else {
System.Console.WriteLine("commitThread rejoined");
}
} else {
System.Console.WriteLine("no committhread to dispose of");
}
if (this.log_handler != null) { this.log_handler.Dispose(); this.log_handler = null; }
if (this.rootblockstream != null) { this.rootblockstream.Close(); this.rootblockstream = null; }
}