Skip to content

Commit 3fcd3ee

Browse files
committed
[Milky] Clean up WebSocket resources on keep-alive loop failure
1 parent 9efbb19 commit 3fcd3ee

1 file changed

Lines changed: 4 additions & 1 deletion

File tree

Lagrange.Milky/Events/WebSocketEventHandler.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,9 @@ private async Task KeepAliveLoop(Guid id, WebSocket ws, CancellationToken ct)
111111
catch (Exception e)
112112
{
113113
_logger.LogKeepAliveError(id, e);
114+
115+
if (_wss.Remove(id, out var connectContext)) connectContext.SendLock.Dispose();
116+
ws.Dispose();
114117
}
115118
}
116119

@@ -196,7 +199,7 @@ public static partial class WebSocketEventHandlerLoggerExtension
196199
[LoggerMessage(LogLevel.Information, "{Id} closed due to server shutdown")]
197200
public static partial void LogClosedByServerShutdown(this ILogger<WebSocketEventHandler> logger, Guid id);
198201

199-
[LoggerMessage(LogLevel.Warning, "{Id} keep-alive loop error")]
202+
[LoggerMessage(LogLevel.Warning, "{Id} keep-alive loop error, removing ws from maintenance links")]
200203
public static partial void LogKeepAliveError(this ILogger<WebSocketEventHandler> logger, Guid id, Exception ex);
201204

202205
[LoggerMessage(LogLevel.Error, "{Id} send error")]

0 commit comments

Comments
 (0)