From b06ef623b39ef5df7861db8fdea1f9ca24aa418e Mon Sep 17 00:00:00 2001 From: Koushik Dutta Date: Fri, 18 Apr 2025 11:49:36 -0700 Subject: [PATCH] server: fix potential socket leak if cluster server is down --- server/src/scrypted-cluster-main.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/server/src/scrypted-cluster-main.ts b/server/src/scrypted-cluster-main.ts index 5c51c2522..336b70997 100644 --- a/server/src/scrypted-cluster-main.ts +++ b/server/src/scrypted-cluster-main.ts @@ -246,12 +246,16 @@ export function startClusterClient(mainFilename: string, options?: { family: 4, keepAlive: true, }); + rawSocket.on('close', () => { + console.log('Cluster server disconnected.', host, port); + }); try { await once(rawSocket, 'connect'); } catch (e) { console.warn('Cluster server not available.', host, port, e); + rawSocket.destroy(); continue; } @@ -264,6 +268,7 @@ export function startClusterClient(mainFilename: string, options?: { await once(socket, 'secureConnect'); } catch (e) { + socket.destroy(); console.warn('Cluster server tls failed.', host, port, e); continue; }