public override void Close() { if (!killed) { FileStreamCache.Recycle(this); return; } base.Close(); logger.DebugFormat("Closed file {0}", info.FullName); }
public override void Close() { if (this.CanRead || this.CanSeek) { //baseFile.lastpos = System.Math.Max(this.Position, baseFile.lastpos); if (this.Position > 0 && baseFile.lastpos != this.Position && (this.Position * 100 / this.Length >= 8 || baseFile.lastpos == 0)) { baseFile.lastpos = this.Position; baseFile.UpdateCache(); } } if (!killed) { FileStreamCache.Recycle(this); return; } base.Close(); logger.DebugFormat("Closed file {0}", info.FullName); }