diff --git a/Emby.Dlna/PlayTo/PlayToController.cs b/Emby.Dlna/PlayTo/PlayToController.cs
index 3d36a50454..bb2eedfb4f 100644
--- a/Emby.Dlna/PlayTo/PlayToController.cs
+++ b/Emby.Dlna/PlayTo/PlayToController.cs
@@ -889,9 +889,9 @@ namespace Emby.Dlna.PlayTo
return Task.CompletedTask;
}
- public void CloseAllWebSockets(CancellationToken cancellationToken)
+ ///
+ public async Task CloseAllWebSockets(CancellationToken cancellationToken)
{
- throw new NotImplementedException();
}
private class StreamParams
diff --git a/Emby.Server.Implementations/HttpServer/WebSocketConnection.cs b/Emby.Server.Implementations/HttpServer/WebSocketConnection.cs
index 2c5ec81ada..331b5aa37a 100644
--- a/Emby.Server.Implementations/HttpServer/WebSocketConnection.cs
+++ b/Emby.Server.Implementations/HttpServer/WebSocketConnection.cs
@@ -231,13 +231,10 @@ namespace Emby.Server.Implementations.HttpServer
CancellationToken.None);
}
- ///
- /// Gracefully closes the socket.
- ///
- /// The cancellation token.
- public void CloseSocket(CancellationToken cancellationToken)
+ ///
+ public async Task CloseSocket(CancellationToken cancellationToken)
{
- _socket.CloseOutputAsync(WebSocketCloseStatus.NormalClosure, "System Shutdown", cancellationToken);
+ await _socket.CloseOutputAsync(WebSocketCloseStatus.NormalClosure, "System Shutdown", cancellationToken).ConfigureAwait(false);
}
///
diff --git a/Emby.Server.Implementations/Session/SessionManager.cs b/Emby.Server.Implementations/Session/SessionManager.cs
index 0d2d0e5176..be0d14ea2c 100644
--- a/Emby.Server.Implementations/Session/SessionManager.cs
+++ b/Emby.Server.Implementations/Session/SessionManager.cs
@@ -1363,7 +1363,7 @@ namespace Emby.Server.Implementations.Session
{
CheckDisposed();
- CloseAllWebSockets(cancellationToken);
+ CloseAllWebSockets(cancellationToken).ConfigureAwait(false);
return SendMessageToSessions(Sessions, SessionMessageType.ServerShuttingDown, string.Empty, cancellationToken);
}
@@ -1372,13 +1372,13 @@ namespace Emby.Server.Implementations.Session
/// Gracefully closes all web sockets in all sessions.
///
/// The cancellation token.
- private void CloseAllWebSockets(CancellationToken cancellationToken)
+ private async Task CloseAllWebSockets(CancellationToken cancellationToken)
{
foreach (var session in Sessions)
{
foreach (var sessionController in session.SessionControllers)
{
- sessionController.CloseAllWebSockets(cancellationToken);
+ await sessionController.CloseAllWebSockets(cancellationToken).ConfigureAwait(false);
}
}
}
diff --git a/Emby.Server.Implementations/Session/WebSocketController.cs b/Emby.Server.Implementations/Session/WebSocketController.cs
index 16312ffb81..f9757a0af5 100644
--- a/Emby.Server.Implementations/Session/WebSocketController.cs
+++ b/Emby.Server.Implementations/Session/WebSocketController.cs
@@ -88,15 +88,12 @@ namespace Emby.Server.Implementations.Session
cancellationToken);
}
- ///
- /// Gracefully closes all web sockets.
- ///
- /// The cancellation token.
- public void CloseAllWebSockets(CancellationToken cancellationToken)
+ ///
+ public async Task CloseAllWebSockets(CancellationToken cancellationToken)
{
foreach (var socket in _sockets)
{
- socket.CloseSocket(cancellationToken);
+ await socket.CloseSocket(cancellationToken).ConfigureAwait(false);
}
}
diff --git a/MediaBrowser.Controller/Net/IWebSocketConnection.cs b/MediaBrowser.Controller/Net/IWebSocketConnection.cs
index c53199de6b..cea2049fd7 100644
--- a/MediaBrowser.Controller/Net/IWebSocketConnection.cs
+++ b/MediaBrowser.Controller/Net/IWebSocketConnection.cs
@@ -62,7 +62,8 @@ namespace MediaBrowser.Controller.Net
///
/// Gracefully closes the socket.
///
+ /// Task.
/// The cancellation token.
- void CloseSocket(CancellationToken cancellationToken);
+ Task CloseSocket(CancellationToken cancellationToken);
}
}
diff --git a/MediaBrowser.Controller/Session/ISessionController.cs b/MediaBrowser.Controller/Session/ISessionController.cs
index 3db79076da..3acfe19a27 100644
--- a/MediaBrowser.Controller/Session/ISessionController.cs
+++ b/MediaBrowser.Controller/Session/ISessionController.cs
@@ -38,6 +38,7 @@ namespace MediaBrowser.Controller.Session
/// Gracefully closes all web sockets.
///
/// The cancellation token.
- void CloseAllWebSockets(CancellationToken cancellationToken);
+ /// A task.
+ Task CloseAllWebSockets(CancellationToken cancellationToken);
}
}