From 4fda36e6175443e5925f960c4657d387c1746214 Mon Sep 17 00:00:00 2001 From: RogueException Date: Mon, 28 Dec 2015 05:14:50 -0400 Subject: [PATCH] Handle multiple exceptions being raised during TaskManager's main task --- src/Discord.Net/TaskManager.cs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/Discord.Net/TaskManager.cs b/src/Discord.Net/TaskManager.cs index a3ce95029..252259922 100644 --- a/src/Discord.Net/TaskManager.cs +++ b/src/Discord.Net/TaskManager.cs @@ -70,8 +70,10 @@ namespace Discord else SignalStop(); - //Wait for the other tasks; - await allTasks.ConfigureAwait(false); + //Wait for the other tasks, and signal their errors too just in case + try { await allTasks.ConfigureAwait(false); } + catch (AggregateException ex) { SignalError(ex.InnerExceptions.First()); } + catch (Exception ex) { SignalError(ex); } //Run the cleanup function within our lock if (_stopAction != null)