RecursiveExtractor is a .NET Standard 2.0 archive extraction Library, and Command Line Tool which can process 7zip, ar, bzip2, deb, gzip, iso, rar, tar, vhd, vhdx, vmdk, wim, xzip, and zip archives and any nested combination of the supported formats.
MIT License
194
stars
29
forks
source link
Improve Dispose Behavior on ExtractToDirectory(filename) API #150
This API was relying on the FileEntry finalizer to dispose the stream, but the timing of disposal is unreliable and users expect locks to be released after the method returns. This changes the filename based ExtractToDirectory API to create a Stream in the method context and dispose it when leaving scope via using statement, instead of relying on the FileEntry finalizer.
Fix #149.
This API was relying on the FileEntry finalizer to dispose the stream, but the timing of disposal is unreliable and users expect locks to be released after the method returns. This changes the filename based ExtractToDirectory API to create a Stream in the method context and dispose it when leaving scope via using statement, instead of relying on the FileEntry finalizer.
Also updates dependencies.