From 89d948b4e1fda77d3bbc4de4778ad3c97695655c Mon Sep 17 00:00:00 2001 From: Adam Hathcock Date: Thu, 12 Feb 2026 10:29:15 +0000 Subject: [PATCH] use configure await false --- .../Archives/Tar/TarArchive.Factory.cs | 28 ++++++------- src/SharpCompress/Factories/TarFactory.cs | 16 ++++++-- .../Readers/Tar/TarReader.Factory.cs | 41 +++++++++++++++---- 3 files changed, 58 insertions(+), 27 deletions(-) diff --git a/src/SharpCompress/Archives/Tar/TarArchive.Factory.cs b/src/SharpCompress/Archives/Tar/TarArchive.Factory.cs index 0c0e4d50..99425528 100644 --- a/src/SharpCompress/Archives/Tar/TarArchive.Factory.cs +++ b/src/SharpCompress/Archives/Tar/TarArchive.Factory.cs @@ -105,10 +105,9 @@ public partial class TarArchive i => null, readerOptions ?? new ReaderOptions() ); - var compressionType = await TarFactory.GetCompressionTypeAsync( - sourceStream, - cancellationToken - ); + var compressionType = await TarFactory + .GetCompressionTypeAsync(sourceStream, cancellationToken) + .ConfigureAwait(false); sourceStream.Seek(0, SeekOrigin.Begin); return new TarArchive(sourceStream, compressionType); } @@ -134,10 +133,9 @@ public partial class TarArchive fileInfo.NotNull(nameof(fileInfo)); readerOptions ??= new ReaderOptions() { LeaveStreamOpen = false }; var sourceStream = new SourceStream(fileInfo, i => null, readerOptions); - var compressionType = await TarFactory.GetCompressionTypeAsync( - sourceStream, - cancellationToken - ); + var compressionType = await TarFactory + .GetCompressionTypeAsync(sourceStream, cancellationToken) + .ConfigureAwait(false); sourceStream.Seek(0, SeekOrigin.Begin); return new TarArchive(sourceStream, compressionType); } @@ -156,10 +154,9 @@ public partial class TarArchive i => i < strms.Length ? strms[i] : null, readerOptions ?? new ReaderOptions() ); - var compressionType = await TarFactory.GetCompressionTypeAsync( - sourceStream, - cancellationToken - ); + var compressionType = await TarFactory + .GetCompressionTypeAsync(sourceStream, cancellationToken) + .ConfigureAwait(false); sourceStream.Seek(0, SeekOrigin.Begin); return new TarArchive(sourceStream, compressionType); } @@ -178,10 +175,9 @@ public partial class TarArchive i => i < files.Length ? files[i] : null, readerOptions ?? new ReaderOptions() { LeaveStreamOpen = false } ); - var compressionType = await TarFactory.GetCompressionTypeAsync( - sourceStream, - cancellationToken - ); + var compressionType = await TarFactory + .GetCompressionTypeAsync(sourceStream, cancellationToken) + .ConfigureAwait(false); sourceStream.Seek(0, SeekOrigin.Begin); return new TarArchive(sourceStream, compressionType); } diff --git a/src/SharpCompress/Factories/TarFactory.cs b/src/SharpCompress/Factories/TarFactory.cs index 88d6afa3..fd2f528f 100644 --- a/src/SharpCompress/Factories/TarFactory.cs +++ b/src/SharpCompress/Factories/TarFactory.cs @@ -141,7 +141,11 @@ public class TarFactory { stream.Seek(0, SeekOrigin.Begin); var decompressedStream = wrapper.CreateStream(stream); - if (await TarArchive.IsTarFileAsync(decompressedStream, cancellationToken)) + if ( + await TarArchive + .IsTarFileAsync(decompressedStream, cancellationToken) + .ConfigureAwait(false) + ) { return wrapper.CompressionType; } @@ -161,7 +165,10 @@ public class TarFactory Stream stream, ReaderOptions? readerOptions = null, CancellationToken cancellationToken = default - ) => await TarArchive.OpenAsyncArchive(stream, readerOptions, cancellationToken); + ) => + await TarArchive + .OpenAsyncArchive(stream, readerOptions, cancellationToken) + .ConfigureAwait(false); /// public IArchive OpenArchive(FileInfo fileInfo, ReaderOptions? readerOptions = null) => @@ -172,7 +179,10 @@ public class TarFactory FileInfo fileInfo, ReaderOptions? readerOptions = null, CancellationToken cancellationToken = default - ) => await TarArchive.OpenAsyncArchive(fileInfo, readerOptions, cancellationToken); + ) => + await TarArchive + .OpenAsyncArchive(fileInfo, readerOptions, cancellationToken) + .ConfigureAwait(false); #endregion diff --git a/src/SharpCompress/Readers/Tar/TarReader.Factory.cs b/src/SharpCompress/Readers/Tar/TarReader.Factory.cs index 8f506e7d..fc775d71 100644 --- a/src/SharpCompress/Readers/Tar/TarReader.Factory.cs +++ b/src/SharpCompress/Readers/Tar/TarReader.Factory.cs @@ -34,6 +34,7 @@ public partial class TarReader CancellationToken cancellationToken = default ) { + cancellationToken.ThrowIfCancellationRequested(); stream.NotNull(nameof(stream)); options ??= new ReaderOptions(); var sharpCompressStream = SharpCompressStream.Create( @@ -41,11 +42,17 @@ public partial class TarReader bufferSize: options.RewindableBufferSize ); long pos = sharpCompressStream.Position; - if (await GZipArchive.IsGZipFileAsync(sharpCompressStream, cancellationToken)) + if ( + await GZipArchive + .IsGZipFileAsync(sharpCompressStream, cancellationToken) + .ConfigureAwait(false) + ) { sharpCompressStream.Position = pos; var testStream = new GZipStream(sharpCompressStream, CompressionMode.Decompress); - if (await TarArchive.IsTarFileAsync(testStream, cancellationToken)) + if ( + await TarArchive.IsTarFileAsync(testStream, cancellationToken).ConfigureAwait(false) + ) { sharpCompressStream.Position = pos; return new TarReader(sharpCompressStream, options, CompressionType.GZip); @@ -53,7 +60,11 @@ public partial class TarReader throw new InvalidFormatException("Not a tar file."); } sharpCompressStream.Position = pos; - if (await BZip2Stream.IsBZip2Async(sharpCompressStream, cancellationToken)) + if ( + await BZip2Stream + .IsBZip2Async(sharpCompressStream, cancellationToken) + .ConfigureAwait(false) + ) { sharpCompressStream.Position = pos; var testStream = BZip2Stream.Create( @@ -61,7 +72,9 @@ public partial class TarReader CompressionMode.Decompress, false ); - if (await TarArchive.IsTarFileAsync(testStream, cancellationToken)) + if ( + await TarArchive.IsTarFileAsync(testStream, cancellationToken).ConfigureAwait(false) + ) { sharpCompressStream.Position = pos; return new TarReader(sharpCompressStream, options, CompressionType.BZip2); @@ -69,11 +82,17 @@ public partial class TarReader throw new InvalidFormatException("Not a tar file."); } sharpCompressStream.Position = pos; - if (await ZStandardStream.IsZStandardAsync(sharpCompressStream, cancellationToken)) + if ( + await ZStandardStream + .IsZStandardAsync(sharpCompressStream, cancellationToken) + .ConfigureAwait(false) + ) { sharpCompressStream.Position = pos; var testStream = new ZStandardStream(sharpCompressStream); - if (await TarArchive.IsTarFileAsync(testStream, cancellationToken)) + if ( + await TarArchive.IsTarFileAsync(testStream, cancellationToken).ConfigureAwait(false) + ) { sharpCompressStream.Position = pos; return new TarReader(sharpCompressStream, options, CompressionType.ZStandard); @@ -81,11 +100,17 @@ public partial class TarReader throw new InvalidFormatException("Not a tar file."); } sharpCompressStream.Position = pos; - if (await LZipStream.IsLZipFileAsync(sharpCompressStream, cancellationToken)) + if ( + await LZipStream + .IsLZipFileAsync(sharpCompressStream, cancellationToken) + .ConfigureAwait(false) + ) { sharpCompressStream.Position = pos; var testStream = new LZipStream(sharpCompressStream, CompressionMode.Decompress); - if (await TarArchive.IsTarFileAsync(testStream, cancellationToken)) + if ( + await TarArchive.IsTarFileAsync(testStream, cancellationToken).ConfigureAwait(false) + ) { sharpCompressStream.Position = pos; return new TarReader(sharpCompressStream, options, CompressionType.LZip);