internal void FinishFullFlush(bool success) { try { if (infoStream.IsEnabled("DW")) { infoStream.Message("DW", Thread.CurrentThread.Name + " finishFullFlush success=" + success); } if (Debugging.AssertsEnabled) { Debugging.Assert(SetFlushingDeleteQueue(null)); } if (success) { // Release the flush lock flushControl.FinishFullFlush(); } else { JCG.HashSet <string> newFilesSet = new JCG.HashSet <string>(); flushControl.AbortFullFlushes(newFilesSet); PutEvent(new DeleteNewFilesEvent(newFilesSet)); } } finally { pendingChangesInCurrentFullFlush = false; } }