Now able to switch screens away from party without crashing

This commit is contained in:
watsonb8
2019-11-29 20:51:48 -05:00
parent ad1fca2009
commit e822829cc0
3 changed files with 21 additions and 24 deletions

View File

@ -181,18 +181,24 @@ namespace Aurora.Services.EventManager
if (actionsCopy.ContainsKey(pair.Key))
{
actionsCopy.TryGetValue(pair.Key, out Action<BaseEvent> action);
Task executionTask = new Task(() => action(bEvent));
executionTask.ContinueWith((Task task) => ExceptionHandler(task, pair.Key),
TaskContinuationOptions.OnlyOnFaulted);
ParameterizedThreadStart operation = new ParameterizedThreadStart(obj => action((BaseEvent)obj));
Thread executionThread = new Thread(operation, 1024 * 1024);
executionThread.Start(bEvent);
executionThread.Join();
executionTask.Start();
}
}
}
}
private void ExceptionHandler(Task executionTask, string actionKey)
{
var exception = executionTask.Exception;
Console.WriteLine(string.Format("SERVER --- Exception occurred firing event"));
this._actionList.Remove(actionKey);
}
#endregion Public Methods
}