mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-04-24 05:57:20 -04:00
Fix possible hidden exceptions
If an error occurred while starting the server which in turn caused an exception in the dispose method of the apphost, the first exception wouldn't get logged.
This commit is contained in:
parent
4bb0c2d053
commit
99aea27723
1 changed files with 17 additions and 11 deletions
|
@ -150,14 +150,15 @@ namespace Jellyfin.Server
|
|||
_logger.LogWarning("Failed to enable shared cache for SQLite");
|
||||
}
|
||||
|
||||
using (var appHost = new CoreAppHost(
|
||||
var appHost = new CoreAppHost(
|
||||
appPaths,
|
||||
_loggerFactory,
|
||||
options,
|
||||
new ManagedFileSystem(_loggerFactory.CreateLogger<ManagedFileSystem>(), appPaths),
|
||||
new NullImageEncoder(),
|
||||
new NetworkManager(_loggerFactory.CreateLogger<NetworkManager>()),
|
||||
appConfig))
|
||||
appConfig);
|
||||
try
|
||||
{
|
||||
await appHost.InitAsync(new ServiceCollection()).ConfigureAwait(false);
|
||||
|
||||
|
@ -165,15 +166,20 @@ namespace Jellyfin.Server
|
|||
|
||||
await appHost.RunStartupTasksAsync().ConfigureAwait(false);
|
||||
|
||||
try
|
||||
{
|
||||
// Block main thread until shutdown
|
||||
await Task.Delay(-1, _tokenSource.Token).ConfigureAwait(false);
|
||||
}
|
||||
catch (TaskCanceledException)
|
||||
{
|
||||
// Don't throw on cancellation
|
||||
}
|
||||
// Block main thread until shutdown
|
||||
await Task.Delay(-1, _tokenSource.Token).ConfigureAwait(false);
|
||||
}
|
||||
catch (TaskCanceledException)
|
||||
{
|
||||
// Don't throw on cancellation
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogCritical(ex, "Error while starting server.");
|
||||
}
|
||||
finally
|
||||
{
|
||||
appHost?.Dispose();
|
||||
}
|
||||
|
||||
if (_restartOnShutdown)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue