Fix web sockets closing ungracefully

This commit is contained in:
luke brown
2022-05-09 20:21:13 -05:00
parent 39196bb5e2
commit 4b563f4d7e
6 changed files with 55 additions and 0 deletions

View File

@@ -1363,9 +1363,26 @@ namespace Emby.Server.Implementations.Session
{
CheckDisposed();
CloseAllWebSockets(cancellationToken);
return SendMessageToSessions(Sessions, SessionMessageType.ServerShuttingDown, string.Empty, cancellationToken);
}
/// <summary>
/// Gracefully closes all web sockets in all sessions.
/// </summary>
/// <param name="cancellationToken">The cancellation token.</param>
private void CloseAllWebSockets(CancellationToken cancellationToken)
{
foreach (var session in Sessions)
{
foreach (var sessionController in session.SessionControllers)
{
sessionController.CloseAllWebSockets(cancellationToken);
}
}
}
/// <summary>
/// Sends the server restart notification.
/// </summary>