瀏覽代碼

Use ConfigureAwait in SharedHttpStream

Patrick Barron 1 年之前
父節點
當前提交
3ecd68d832
共有 1 個文件被更改,包括 21 次插入8 次删除
  1. 21 8
      Emby.Server.Implementations/LiveTv/TunerHosts/SharedHttpStream.cs

+ 21 - 8
Emby.Server.Implementations/LiveTv/TunerHosts/SharedHttpStream.cs

@@ -83,14 +83,27 @@ namespace Emby.Server.Implementations.LiveTv.TunerHosts
                         Logger.LogInformation("Beginning {StreamType} stream to {FilePath}", GetType().Name, TempFilePath);
                         Logger.LogInformation("Beginning {StreamType} stream to {FilePath}", GetType().Name, TempFilePath);
                         using (response)
                         using (response)
                         {
                         {
-                            await using var stream = await response.Content.ReadAsStreamAsync(cancellationToken).ConfigureAwait(false);
-                            await using var fileStream = new FileStream(TempFilePath, FileMode.Create, FileAccess.Write, FileShare.Read, IODefaults.FileStreamBufferSize, FileOptions.Asynchronous);
-                            await StreamHelper.CopyToAsync(
-                                stream,
-                                fileStream,
-                                IODefaults.CopyToBufferSize,
-                                () => Resolve(openTaskCompletionSource),
-                                cancellationToken).ConfigureAwait(false);
+                            var stream = await response.Content.ReadAsStreamAsync(cancellationToken).ConfigureAwait(false);
+                            await using (stream.ConfigureAwait(false))
+                            {
+                                var fileStream = new FileStream(
+                                    TempFilePath,
+                                    FileMode.Create,
+                                    FileAccess.Write,
+                                    FileShare.Read,
+                                    IODefaults.FileStreamBufferSize,
+                                    FileOptions.Asynchronous);
+
+                                await using (fileStream.ConfigureAwait(false))
+                                {
+                                    await StreamHelper.CopyToAsync(
+                                        stream,
+                                        fileStream,
+                                        IODefaults.CopyToBufferSize,
+                                        () => Resolve(openTaskCompletionSource),
+                                        cancellationToken).ConfigureAwait(false);
+                                }
+                            }
                         }
                         }
                     }
                     }
                     catch (OperationCanceledException ex)
                     catch (OperationCanceledException ex)