Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ Dispose() [2/2]

override void System.IO.Strategies.Net5CompatFileStreamStrategy.Dispose ( bool disposing)
inlineprotectedvirtual

Reimplemented from System.IO.Stream.

Definition at line 627 of file Net5CompatFileStreamStrategy.cs.

628 {
629 try
630 {
631 if (_fileHandle != null && !_fileHandle.IsClosed && _writePos > 0)
632 {
633 try
634 {
635 FlushWriteBuffer(!disposing);
636 return;
637 }
638 catch (Exception e) when (!disposing && FileStreamHelpers.IsIoRelatedException(e))
639 {
640 return;
641 }
642 }
643 }
644 finally
645 {
646 if (_fileHandle != null && !_fileHandle.IsClosed)
647 {
650 }
652 }
653 }

References System.IO.Strategies.Net5CompatFileStreamStrategy._fileHandle, System.IO.Strategies.Net5CompatFileStreamStrategy._preallocatedOverlapped, System.IO.Strategies.Net5CompatFileStreamStrategy._writePos, System.Runtime.InteropServices.SafeHandle.Dispose(), System.Threading.PreAllocatedOverlapped.Dispose(), System.Threading.ThreadPoolBoundHandle.Dispose(), System.IO.Strategies.Net5CompatFileStreamStrategy.FlushWriteBuffer(), System.Runtime.InteropServices.SafeHandle.IsClosed, System.IO.Strategies.FileStreamHelpers.IsIoRelatedException(), and Microsoft.Win32.SafeHandles.SafeFileHandle.ThreadPoolBinding.