diff options
author | Matt Ward <matt.ward@xamarin.com> | 2018-11-26 16:44:13 +0300 |
---|---|---|
committer | Matt Ward <ward.matt@gmail.com> | 2018-11-27 13:13:20 +0300 |
commit | 74ce91a1ce523d95bf4ab1c81f3290855f2b772a (patch) | |
tree | 268e590e3ca716d5489bbb4503bc7fa1b4550bf1 /Mono.Addins.Setup | |
parent | 67cd093f502afcc568383219377eab9a6720b779 (diff) |
Remove SpinWait
Use Task.Wait instead to avoid CPU use.
Diffstat (limited to 'Mono.Addins.Setup')
-rw-r--r-- | Mono.Addins.Setup/Mono.Addins.Setup/AddinStore.cs | 16 |
1 files changed, 1 insertions, 15 deletions
diff --git a/Mono.Addins.Setup/Mono.Addins.Setup/AddinStore.cs b/Mono.Addins.Setup/Mono.Addins.Setup/AddinStore.cs index cc8a1da..ddf6cf4 100644 --- a/Mono.Addins.Setup/Mono.Addins.Setup/AddinStore.cs +++ b/Mono.Addins.Setup/Mono.Addins.Setup/AddinStore.cs @@ -643,8 +643,7 @@ namespace Mono.Addins.Setup try { monitor.BeginTask ("Requesting " + url, 2); var task = DownloadFileRequest.DownloadFile (url, noCache: true); - if (!WaitForTask (task, monitor)) - throw new InstallException ("Installation cancelled."); + task.Wait (); using (var request = task.Result) { monitor.Step (1); @@ -679,19 +678,6 @@ namespace Mono.Addins.Setup } } - static bool WaitForTask (Task<DownloadFileRequest> task, IProgressMonitor monitor) - { - bool result = SpinWait.SpinUntil (() => { - return monitor.IsCancelRequested || task.IsCompleted || task.IsFaulted; - }, 100000); // Use same default timeout as HttpClient. - - if (monitor.IsCancelRequested) - return false; - if (!result) - throw new InstallException ("Timed out."); - return result; - } - internal bool HasWriteAccess (string file) { FileInfo f = new FileInfo (file); |