瀏覽代碼

AsyncEnumerable.ToObservable: Use Try...-methods on TaskCompletionSources to avoid unexpected exceptions when the iterator is cancelled.

Daniel Weber 8 年之前
父節點
當前提交
f47d85ef7c
共有 1 個文件被更改,包括 3 次插入3 次删除
  1. 3 3
      Ix.NET/Source/System.Interactive.Async/ToObservable.cs

+ 3 - 3
Ix.NET/Source/System.Interactive.Async/ToObservable.cs

@@ -119,7 +119,7 @@ namespace System.Linq
 
                 if (tcs != null)
                 {
-                    tcs.SetResult(false);
+                    tcs.TrySetResult(false);
                 }
             }
 
@@ -140,7 +140,7 @@ namespace System.Linq
 
                 if (tcs != null)
                 {
-                    tcs.SetException(error);
+                    tcs.TrySetException(error);
                 }
             }
 
@@ -165,7 +165,7 @@ namespace System.Linq
 
                 if (tcs != null)
                 {
-                    tcs.SetResult(true);
+                    tcs.TrySetResult(true);
                 }
             }
         }