浏览代码

Add comments explaining GetAwaiter()

Neuheit 2 年之前
父节点
当前提交
9e791a92c3
共有 1 个文件被更改,包括 3 次插入0 次删除
  1. 3 0
      Jellyfin.Networking/HappyEyeballs/HttpClientExtension.cs

+ 3 - 0
Jellyfin.Networking/HappyEyeballs/HttpClientExtension.cs

@@ -69,6 +69,9 @@ namespace Jellyfin.Networking.HappyEyeballs
             using var cancelIPv4 = CancellationTokenSource.CreateLinkedTokenSource(cancellationToken);
             var tryConnectAsyncIPv4 = AttemptConnection(AddressFamily.InterNetwork, context, cancelIPv4.Token);
 
+            //Both connect tasks use GetAwaiter().GetResult() as the appropriate task has already been completed.
+            //This results in improved exception handling.
+            //See https://github.com/dotnet/corefx/pull/29792/files#r189415885 for more details.
             if (await Task.WhenAny(tryConnectAsyncIPv6, tryConnectAsyncIPv4).ConfigureAwait(false) == tryConnectAsyncIPv6)
             {
                 if (tryConnectAsyncIPv6.IsCompletedSuccessfully)