Merge pull request #1057 from lextm/master
[mono.git] / mcs / class / corlib / System.Runtime.CompilerServices / TaskAwaiter_T.cs
index bd1b0d4401f8e31fccf8a27c791a618f97e02e68..b59a0ef005e3736eed23103ee90f822c9dd2f6b7 100644 (file)
@@ -29,6 +29,7 @@
 
 #if NET_4_5
 
+using System.Threading;
 using System.Threading.Tasks;
 using System.Runtime.ExceptionServices;
 
@@ -51,6 +52,9 @@ namespace System.Runtime.CompilerServices
 
                public TResult GetResult ()
                {
+                       if (!task.IsCompleted)
+                               task.WaitCore (Timeout.Infinite, CancellationToken.None, true);
+
                        if (task.Status != TaskStatus.RanToCompletion)
                                ExceptionDispatchInfo.Capture (TaskAwaiter.HandleUnexpectedTaskResult (task)).Throw ();