mirror of
https://github.com/goatcorp/Dalamud.git
synced 2025-12-12 18:27:23 +01:00
Fix leftovers (#899)
This commit is contained in:
parent
29dee596c4
commit
3b7ec63223
3 changed files with 15 additions and 16 deletions
|
|
@ -1,5 +1,6 @@
|
|||
using System;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Runtime.CompilerServices;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
|
|
@ -68,7 +69,14 @@ namespace Dalamud
|
|||
if (!configuration.IsResumeGameAfterPluginLoad)
|
||||
{
|
||||
NativeFunctions.SetEvent(mainThreadContinueEvent);
|
||||
_ = ServiceManager.InitializeEarlyLoadableServices();
|
||||
try
|
||||
{
|
||||
_ = ServiceManager.InitializeEarlyLoadableServices();
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
Log.Error(e, "Service initialization failure");
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
@ -83,20 +91,13 @@ namespace Dalamud
|
|||
};
|
||||
|
||||
await Task.WhenAny(tasks);
|
||||
foreach (var task in tasks)
|
||||
{
|
||||
if (task.IsFaulted)
|
||||
throw task.Exception!;
|
||||
}
|
||||
var faultedTasks = tasks.Where(x => x.IsFaulted).Select(x => (Exception)x.Exception!).ToArray();
|
||||
if (faultedTasks.Any())
|
||||
throw new AggregateException(faultedTasks);
|
||||
|
||||
NativeFunctions.SetEvent(mainThreadContinueEvent);
|
||||
|
||||
await Task.WhenAll(tasks);
|
||||
foreach (var task in tasks)
|
||||
{
|
||||
if (task.IsFaulted)
|
||||
throw task.Exception!;
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -114,9 +114,9 @@ namespace Dalamud
|
|||
{
|
||||
try
|
||||
{
|
||||
using var blockingServiceInitializeTimings = Timings.Start("BlockingServices Init");
|
||||
await Task.WhenAll(blockingEarlyLoadingServices.Select(x => getAsyncTaskMap[x]));
|
||||
BlockingServicesLoadedTaskCompletionSource.SetResult();
|
||||
Timings.Event("BlockingServices Initialized");
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -52,16 +52,14 @@ namespace Dalamud
|
|||
try
|
||||
{
|
||||
var x = await ConstructObject();
|
||||
if (attr?.IsAssignableTo(typeof(ServiceManager.BlockingEarlyLoadedService)) == true)
|
||||
ServiceManager.Log.Debug("Service<{0}>: Construction complete", typeof(T).Name);
|
||||
ServiceManager.Log.Debug("Service<{0}>: Construction complete", typeof(T).Name);
|
||||
InstanceTcs.SetResult(x);
|
||||
return x;
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
ServiceManager.Log.Error(e, "Service<{0}>: Construction failure", typeof(T).Name);
|
||||
InstanceTcs.SetException(e);
|
||||
if (attr?.IsAssignableTo(typeof(ServiceManager.BlockingEarlyLoadedService)) == true)
|
||||
ServiceManager.Log.Error(e, "Service<{0}>: Construction failure", typeof(T).Name);
|
||||
throw;
|
||||
}
|
||||
}));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue