Properly handle provider disconnect exceptions

This commit is contained in:
Dominion
2023-05-23 02:55:10 -04:00
parent 60fbb6f9b4
commit e6003a7c3c
@@ -523,13 +523,15 @@ namespace Tgstation.Server.Host.Components.Chat
{
await provider.Disconnect(cancellationToken);
}
finally
catch (Exception ex)
{
await provider.DisposeAsync();
var duration = DateTimeOffset.UtcNow - startTime;
if (duration.TotalSeconds > 3)
logger.LogWarning("Disconnecting a {providerType} took {totalSeconds}s!", provider.GetType().Name, duration.TotalSeconds);
logger.LogError(ex, "Error disconnecting connection {connectionId}!", connectionId);
}
await provider.DisposeAsync();
var duration = DateTimeOffset.UtcNow - startTime;
if (duration.TotalSeconds > 3)
logger.LogWarning("Disconnecting a {providerType} took {totalSeconds}s!", provider.GetType().Name, duration.TotalSeconds);
}
else
logger.LogTrace("DeleteConnection: ID {connectionId} doesn't exist!", connectionId);