Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono-addins.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Ward <matt.ward@xamarin.com>2018-11-26 16:44:13 +0300
committerMatt Ward <ward.matt@gmail.com>2018-11-27 13:13:20 +0300
commit74ce91a1ce523d95bf4ab1c81f3290855f2b772a (patch)
tree268e590e3ca716d5489bbb4503bc7fa1b4550bf1 /Mono.Addins.Setup
parent67cd093f502afcc568383219377eab9a6720b779 (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.cs16
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);