diff options
4 files changed, 11 insertions, 6 deletions
diff --git a/main/src/addins/MonoDevelop.UnitTesting.NUnit/MonoDevelop.UnitTesting.NUnit/ExternalTestRunner.cs b/main/src/addins/MonoDevelop.UnitTesting.NUnit/MonoDevelop.UnitTesting.NUnit/ExternalTestRunner.cs index fe6b397320..12248158f1 100644 --- a/main/src/addins/MonoDevelop.UnitTesting.NUnit/MonoDevelop.UnitTesting.NUnit/ExternalTestRunner.cs +++ b/main/src/addins/MonoDevelop.UnitTesting.NUnit/MonoDevelop.UnitTesting.NUnit/ExternalTestRunner.cs @@ -139,7 +139,7 @@ namespace MonoDevelop.UnitTesting.NUnit.External public void Dispose () { - connection.Disconnect ().Forget (); + connection.Disconnect ().Ignore (); } } diff --git a/main/src/core/MonoDevelop.Core/CoreExtensions.cs b/main/src/core/MonoDevelop.Core/CoreExtensions.cs index e8c9e7301e..1f83f07d6b 100644 --- a/main/src/core/MonoDevelop.Core/CoreExtensions.cs +++ b/main/src/core/MonoDevelop.Core/CoreExtensions.cs @@ -27,6 +27,7 @@ using System.Collections; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; +using MonoDevelop.Core; namespace System { @@ -118,8 +119,12 @@ namespace System /// about the result of an async call /// </summary> /// <param name="task">The task to forget</param> - public static void Forget (this Task task) + public static void Ignore (this Task task) { + task.ContinueWith (t => { + if (t.IsFaulted) + LoggingService.LogError ("Async operation failed", t.Exception); + }); } } } diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Execution/RemoteProcessConnection.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Execution/RemoteProcessConnection.cs index 5246caf040..6126cb1f91 100644 --- a/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Execution/RemoteProcessConnection.cs +++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Core.Execution/RemoteProcessConnection.cs @@ -126,7 +126,7 @@ namespace MonoDevelop.Core.Execution public void Dispose () { - Disconnect ().Forget (); + Disconnect ().Ignore (); } public void AddListener (MessageListener listener) @@ -154,7 +154,7 @@ namespace MonoDevelop.Core.Execution if (waitUntilDone) Disconnect ().Wait (TimeSpan.FromSeconds (7)); else - Disconnect ().Forget (); + Disconnect ().Ignore (); } public async Task Disconnect () @@ -521,7 +521,7 @@ namespace MonoDevelop.Core.Execution lock (pendingMessageTasks) { pendingMessageTasks.Remove (ta); } - }).Forget (); + }).Ignore (); pendingMessageTasks.Add (t); } } diff --git a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.MSBuild/RemoteProjectBuilder.cs b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.MSBuild/RemoteProjectBuilder.cs index 67a3c65964..2f9cd280d9 100644 --- a/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.MSBuild/RemoteProjectBuilder.cs +++ b/main/src/core/MonoDevelop.Core/MonoDevelop.Projects.MSBuild/RemoteProjectBuilder.cs @@ -141,7 +141,7 @@ namespace MonoDevelop.Projects.MSBuild Interlocked.Decrement (ref count); try { alive = false; - connection.Disconnect ().Forget (); + connection.Disconnect ().Ignore (); } catch { // Ignore } |