Skip to content

Commit 2b78c0b

Browse files
author
Loïc Mangeonjean
committed
fix: close socket when reader is disposed
1 parent e95e6cc commit 2b78c0b

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

src/infrastructure.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,18 @@ export interface Infrastructure {
5151
getInitializationOptions? (): LSPAny
5252
}
5353

54+
class CloseOnDisposeWebSocketMessageReader extends WebSocketMessageReader {
55+
override dispose () {
56+
super.dispose()
57+
this.socket.dispose()
58+
}
59+
}
60+
5461
async function openWebsocketConnection (url: URL | string): Promise<MessageTransports> {
5562
const webSocket = new WebSocket(url)
5663
const socket: IWebSocket = toSocket(webSocket)
5764

58-
const reader = new WebSocketMessageReader(socket)
65+
const reader = new CloseOnDisposeWebSocketMessageReader(socket)
5966
const writer = new WebSocketMessageWriter(socket)
6067

6168
await new Promise((resolve, reject) => {

0 commit comments

Comments
 (0)