Skip to content

Commit a21b5cd

Browse files
author
Baudbot
committed
extensions: improve socket cleanup in idle-compact to match control.ts pattern
Address Greptile review: use removeAllListeners() and destroy() in error/timeout paths, matching the cleanup pattern in control.ts.
1 parent bfd3c80 commit a21b5cd

1 file changed

Lines changed: 10 additions & 8 deletions

File tree

pi/extensions/idle-compact.ts

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -57,19 +57,21 @@ function isSocketAlive(socketPath: string): Promise<boolean> {
5757
return new Promise((resolve) => {
5858
const socket = net.createConnection(socketPath);
5959
const timeout = setTimeout(() => {
60+
socket.removeAllListeners();
6061
socket.destroy();
6162
resolve(false);
6263
}, 300);
6364

64-
socket.once("connect", () => {
65+
const cleanup = (alive: boolean) => {
6566
clearTimeout(timeout);
66-
socket.end();
67-
resolve(true);
68-
});
69-
socket.once("error", () => {
70-
clearTimeout(timeout);
71-
resolve(false);
72-
});
67+
socket.removeAllListeners();
68+
if (alive) socket.end();
69+
else socket.destroy();
70+
resolve(alive);
71+
};
72+
73+
socket.once("connect", () => cleanup(true));
74+
socket.once("error", () => cleanup(false));
7375
});
7476
}
7577

0 commit comments

Comments
 (0)