aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBond_009 <bond.009@outlook.com>2019-08-18 20:01:08 +0200
committerBond_009 <bond.009@outlook.com>2019-08-18 20:01:08 +0200
commit99aea27723dc7acc2beb14393eae89a3d2bd860f (patch)
tree4e325077bb9b0b2585d902f29a32593e5a13109b
parent4bb0c2d0532e345f467f6cbee77a78851d26e386 (diff)
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.
-rw-r--r--Jellyfin.Server/Program.cs28
1 files changed, 17 insertions, 11 deletions
diff --git a/Jellyfin.Server/Program.cs b/Jellyfin.Server/Program.cs
index 5e4e36a34..594441af0 100644
--- a/Jellyfin.Server/Program.cs
+++ b/Jellyfin.Server/Program.cs
@@ -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)