diff options
| author | Vasily <JustAMan@users.noreply.github.com> | 2019-02-25 16:52:31 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-02-25 16:52:31 +0300 |
| commit | b3438559ccaeae05fa406eb01cbcc140619008d7 (patch) | |
| tree | f3c47de120e50dbd1325f248f872a8b8e2dde86a /Jellyfin.Server/SocketSharp/WebSocketSharpListener.cs | |
| parent | 4a3e42e7794bd8b337ded2d38ad12298be7e819e (diff) | |
| parent | 4df3333b7116636e56967b332c0e66b6c36960c2 (diff) | |
Merge pull request #1000 from cvium/fix_object_disposed
Don't close the socket response multiple times
Diffstat (limited to 'Jellyfin.Server/SocketSharp/WebSocketSharpListener.cs')
| -rw-r--r-- | Jellyfin.Server/SocketSharp/WebSocketSharpListener.cs | 24 |
1 files changed, 3 insertions, 21 deletions
diff --git a/Jellyfin.Server/SocketSharp/WebSocketSharpListener.cs b/Jellyfin.Server/SocketSharp/WebSocketSharpListener.cs index 736f9feef..693c2328c 100644 --- a/Jellyfin.Server/SocketSharp/WebSocketSharpListener.cs +++ b/Jellyfin.Server/SocketSharp/WebSocketSharpListener.cs @@ -164,33 +164,19 @@ namespace Jellyfin.Server.SocketSharp Endpoint = endpoint }); - await ReceiveWebSocketAsync(ctx, socket).ConfigureAwait(false); + await socket.StartReceive().ConfigureAwait(false); } } else { _logger.LogWarning("Web socket connection not allowed"); - ctx.Response.StatusCode = 401; - ctx.Response.Close(); + TryClose(ctx, 401); } } catch (Exception ex) { _logger.LogError(ex, "AcceptWebSocketAsync error"); - ctx.Response.StatusCode = 500; - ctx.Response.Close(); - } - } - - private async Task ReceiveWebSocketAsync(HttpListenerContext ctx, SharpWebSocket socket) - { - try - { - await socket.StartReceive().ConfigureAwait(false); - } - finally - { - TryClose(ctx, 200); + TryClose(ctx, 500); } } @@ -201,10 +187,6 @@ namespace Jellyfin.Server.SocketSharp ctx.Response.StatusCode = statusCode; ctx.Response.Close(); } - catch (ObjectDisposedException) - { - // TODO: Investigate and properly fix. - } catch (Exception ex) { _logger.LogError(ex, "Error closing web socket response"); |
